MFMailComposeViewController将html附件视为iOS7上的图像

时间:2013-09-24 18:01:49

标签: html ios email ios7 attachment

当我将html文件作为附件添加到MFMailComposeViewController实例时,生成的最终电子邮件将此附件作为iOS7上的嵌入图像生成,但它在以前的版本(iOS4,5,6)上运行良好。

[mailController addAttachmentData: fileData mimeType: @"text/html; Charset=utf-8" fileName:@"file.html"];

最终.eml内容

<div><br><br>
<img src="cid:C7BFF544-754D-4322-A71C-12345667789" id="C7BFF544-754D-4322-A71C-12345667789"></div></body></html>

Content-Type: text/html; charset=utf-8;
name=file.html
Content-Disposition: attachment;
filename=file.html
Content-Transfer-Encoding: quoted-printable
Content-Id: <C7BFF544-754D-4322-A71C-12345667789>

在gmail中打开时,此附件显示为“未找到”图像。 看起来本机邮件客户端将此文档视为嵌入式图像,但事实并非如此。

我尝试使用不同的内容类型组合(application / pdf,charset-8/16),但它不起作用。仅将文件扩展名更改为“.shtml”可解决此问题。但是,更改文件名对我来说不适用。

有什么想法吗?

注意:此应用程序是使用iOS 6 SDK和XCode 4构建的。

2 个答案:

答案 0 :(得分:0)

您是否在电子邮件中添加了签名,例如“从我的iphone发送”等? 将其删除并重新发送电子邮件和附件,然后查看附件是否突然出现。

Apple Main和Outlook似乎存在问题,如果在添加附件后添加了任何文本,Outlook将删除附件。

答案 1 :(得分:0)

对不起后来的回复,但发布后不久,我找到了答案。 Apple和Exchange存在一些问题,为了解决这个问题,我必须确保我添加到邮件中的所有PDF文档都有多个页面。简单地删除签名将起作用,但不是有效的解决方案。我很感激你的回应,我希望这对你也有所帮助。只需确保附件有多个页面,一切都会很好。