从iPhone程序发送后,HTML电子邮件丢失格式

时间:2009-10-31 15:38:35

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

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

当我在控制器上设置消息体时,我将isHTML设置为YES。 html文件的内容非常基本;一个定义了CSS的样式块,以及一些包含文本的 div 。 html文件确实包含 html head body 标记(我还尝试过没有这些标记的样式 div 标签)。

任何想法的家伙?一直试图在不停的一天内解决这个问题。

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

4 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:0)

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

任何人都可以为此提供更多的光吗?

答案 2 :(得分:0)

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

答案 3 :(得分:0)

所有样式必须放入内联标签或嵌入式样式表中,以便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/