1

如何使用 MFMailComposeViewController 发送电子邮件的 HTML 和后备纯文本版本?API 有一种方法可以将消息正文设置为非此即彼,但不能同时指定两者。我已经看到其他应用程序这样做了(例如 Doodle Jump),所以它必须是可能的。

4

3 回答 3

1

经过对代码和使用 Google 的大量调查后,我得出的结论是不可能通过 MFMailComposeViewController 执行此操作。我希望有人能证明我错了,所以如果你发现不是这样,我很乐意投票支持你的答案。

于 2010-05-20T12:33:33.877 回答
0

我只能提供猜测,因为我没有尝试过。

文档说调用 setMessageBody:isHTML: 替换以前的正文。值得尝试两次调用 - 一次调用 isHTML:YES,一次调用 NO,以防万一文档不可靠:但这不太可能。

如果边界是恒定的(我希望是),我会说这样做的方法是将其作为 HTML 发送并将纯文本部分伪造到最后。您需要给自己发送一封 HTML 电子邮件或 3 封电子邮件,并检查边界是否不变,然后抓取它。然后追加

------=_NextPart_111_2222_11223344.aabbccdd
内容类型:文本/纯文本;
字符集="iso-8859-1"
内容传输编码:8bit
纯文本内容

用真实的边界替换 NextPart 的东西。如果边界不一致,那么我不知道 :-) 也许值得一试?

于 2010-05-18T15:54:28.290 回答
0

This is what i am doing, the output is fine, i am not able to attach the image, else i would hv shown you guys

 NSString *emailBody = @"<HTML><BODY><B>It is raining in sunny California!</B><table><tr><td>row1</td><td>row2</td></tr><tr><td>row3</td><td><b>row4</b></td></tr></table></BODY></HTML>";
    [picker setMessageBody:emailBody isHTML:YES];
于 2010-11-18T17:57:48.653 回答