【问题标题】:HTML email loses formatting after being sent from iPhone programHTML 电子邮件从 iPhone 程序发送后丢失格式
【发布时间】:2009-10-31 15:38:34
【问题描述】:

我在 iPhone SDK 中使用 MFMailComposeViewController 来调出邮件对话框来发送 HTML 格式的电子邮件。消息正文的内容是从应用程序中生成并保存在文件系统中的 HTML 文件中读取的。电子邮件在发送邮件对话框中看起来很好,并且所有的 CSS 格式都在那里。但是,将电子邮件发送到 gmail 和 hotmail 帐户后,电子邮件以纯文本形式显示,所有格式都消失了。邮件是通过我的手机使用 gmail 帐户发送的。

当我在控制器上设置消息正文时,我将 isHTML 设置为 YES。 html文件的内容很基础;定义了一些 CSS 的样式块,以及一些包含文本的 div。 html 文件确实包含 htmlheadbody 标签(我也尝试过不使用这些标签,只使用 style div 标签)。

有什么想法吗?近一天不停地试图解决这个问题。

这是电子邮件窗口,显示发送前格式正确的电子邮件: alt text http://img515.imageshack.us/img515/7962/screenshot20091031at114.png

【问题讨论】:

  • "html 文件包含 , , 和标签"?我看不到你在列出什么。我相信您可以编辑问题并使用反引号来转义 HTML。
  • 您的标签在发布期间被吃掉了,所以它们没有显示。您可能想逃跑或取出小于/大于符号。此外,电子邮件是否在发送到常规 POP/IMAP 帐户并通过 Outlook 或 Mac Mail 查看时显示,还是仅通过 Google 和 Hotmail 显示?这将有助于缩小范围。

标签: iphone objective-c iphone-sdk-3.0 mfmailcomposeviewcontroller


【解决方案1】:

在 HTML 的 <BODY/> 中包含 <STYLE/> 应该可以解决问题。

【讨论】:

    【解决方案2】:

    我们遇到了类似的问题。无法弄清楚谁在剥离 html 以及为什么要剥离,但我们发现添加 <font> 标记(是的,古老的已弃用标记)会将内容类型保留为 text/html 并包含完整格式。

    任何人都可以更清楚地了解这一点吗?

    【讨论】:

      【解决方案3】:

      我确认在 BODY 块中包含 STYLE 块似乎有效。

      【讨论】:

        【解决方案4】:

        所有样式都必须放入内联标签或嵌入样式表中才能使 CSS 保持不变。

        这样想,如果您要从 iPhone 发送格式化的消息,它会在本地获取 CSS 文件。但是,当您发送电子邮件时,该 CSS 文件已消失。

        将 CSS 放在头部或使用 style="" 放在每个标签本身都可以。

        参考: http://www.htmlgoodies.com/beyond/css/article.php/3679231/How-to-Create-Great-HTML-Emails-with-CSS.htm http://kb.mailchimp.com/article/top-html-email-coding-mistakes/

        【讨论】:

          猜你喜欢
          • 2015-06-07
          • 2023-01-25
          • 2011-05-08
          • 2010-11-26
          • 2014-06-22
          • 1970-01-01
          相关资源
          最近更新 更多