MFMailComposeViewController打破了html模板中的CSS样式

时间:2010-05-02 09:46:19

标签: iphone email mfmailcomposeviewcontroller

我使用MFMailComposeViewController以 html 格式发送消息。 如果我的html模板包含 css样式

<div class="margin:10 10 10 0"> <a href="domain.name">Go To</a></div>

在这种情况下,效果很好

如果我发送:

<a href="domain.name">Go&nbsp;To</a>

然后我看到破碎的样式附带的字母( 3D 不是我的印刷错误)

<div style=3D"margin:10 10 10 10;"><a href=3D"www.google.com">Go=C2=A0To</a></div>

当我插入国家字母表中的模板符号时,字母就会破碎。

有人可以告诉您有什么问题并自行检查?

1 个答案:

答案 0 :(得分:1)

我修改了我的答案,添加了解决方案的第二部分:

我发现使用MFMailComposeViewController发送带有标签的HTML电子邮件有两个问题。

1)对于最终被编码为quoted-printable的任何HTML正文,你必须设置换行符,使得没有行是&gt; 76个字符。

2)标签内的文本应包含在a中,以确保MFMailComposeViewController不会将内容解释为链接中的链接。

例如,以下HTML:

<a href='http://link/to/my/site.com'>site.com</a>

正在变成:

<a href='http://link/to/my/site.com'><a href='http://site.com'>site.com</a></a>

将我的HTML正文更改为:

<a href='http://link/to/my/site.com'><span>site.com</span></a>

电子邮件已正确发送。

一个完整的例子:

NSMutableString *body = [NSMutableString string];
// add HTML before the link here with line breaks (\n)
[body appendString:@"<h1>Hello User!</h1>\n"];
[body appendString:@"<a href=\"http://www.mysite.com/path/to/link\"><span>Click Me!</span></a>\n"];
[body appendString:@"<div>Thanks much!</div>\n"];

干杯!