【问题标题】:Can MFMailComposeViewController attach an XML doc to an HTML message?MFMailComposeViewController 可以将 XML 文档附加到 HTML 消息吗?
【发布时间】:2011-02-17 04:53:48
【问题描述】:

我正在 MFMaiilComposeViewController 中创建一封电子邮件,如果我只是创建一些 html sn-ps 并将它们分配给消息正文 - 一切都很好。生成的电子邮件(在 GMail 和 Yahoo 中)看起来像我发送的原始 HTML。

 [mailMan_ setMessageBody:body isHTML:YES];

另一方面,如果我还包含一个 XML 附件,我的电子邮件阅读器会将 所有内容 呈现为纯文本……包括内联的 XML。 IE:我的邮件客户端(GMail、Yahoo)显示原始的 HTHML 和 XML 标签——包括我没有提供的 html 标签——即:iPhone 围绕内容提供的 html、head、body 标签:

 NSData *opmlData = [[NSData alloc] initWithData:[opml dataUsingEncoding:NSUTF8StringEncoding]];
 NSString *fileName = [NSString stringWithFormat:@"%f.opml", [NSDate timeIntervalSinceReferenceDate]];
 [mailMan_ addAttachmentData:opmlData mimeType:@"text/xml" fileName:fileName];

我对邮件进行了 pop3 以查看发生了什么,发现 没有 一个附件,生成的电子邮件的 html 部分包含此块:

--0-1682099714-1273329398=:59784
Content-Type: text/html; charset=us-ascii

<html><body bgcolor="#FFFFFF"><div><h2 style="b

而另一方面,带有 XML 附件,iPhone 正在发送这个:

--0-881105825-1273328091=:50337
Content-Type: text/plain; charset=us-ascii

<html><body bgcolor="#FFFFFF"><div><h2 style="bac

注意到区别了吗?查看 Content-Type ... text/html 与 text/plain。看起来当我包含一个 XML 附件时,iPhone 错误地将正文的 HTML 版本标记为纯文本!只是为了澄清一下,从技术上讲,无论有没有附件,iPhone 还包括以下内容:

--0-881105825-1273328091=:50337
Content-Type: text/plain; charset=us-ascii

Notebook
Carpentry
Bathroom floor tile
Bathroom wall tile
Scrape thinset

但这显然不是问题所在。

我做错了吗?我必须做些什么才能真正“附加” XML,而不需要 iPhone 将整个 HTML 正文标记为纯文本。我尝试反转分配(先是附件,然后是正文),但没有运气。

不管怎样,这封电子邮件从 iPhone 的发送界面看起来很完美。事实上,HTML 可以正确呈现,并且附件看起来像邮件底部的一个小图标。这个问题更多地与 iPhone 实际发送的内容有关。

【问题讨论】:

    标签: iphone mfmailcomposeviewcontroller email


    【解决方案1】:

    原来 - 这个问题是雅虎特有的。

    在 iPhone 上,如果我将提供商更改为 Gmail 帐户而不是 Yahoo 帐户,则生成的电子邮件会包含更多部分、更具体并且可以正确呈现。

    故事的寓意 - 小心通过不同的提供商从您的 iPhone 发送附件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-20
      • 2010-10-27
      • 2013-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-05
      • 1970-01-01
      • 2018-09-28
      相关资源
      最近更新 更多