从Outlook发送的PDF附件未在Outlook Mail Client中正确显示

时间:2013-10-03 14:59:59

标签: iphone ios pdf mfmailcomposeviewcontroller outlook-2007

当我从iOS设备发送带有PDF附件的电子邮件时,PDF附件无法在Outlook邮件客户端中正确显示。这是它的样子:

Outlook can't display the attachment

(附件PDF实际上已发送,如果您右键单击电子邮件并选择“查看附件”,那么您将能够查看PDF。但是,通过红叉,客户认为附件不是'正确连接。)

以下是发送电子邮件的代码:

MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
[controller setToRecipients:@[@"test@test.com"]];
[controller setSubject:@"Subject"];
[controller setMessageBody:emailData.emailBody isHTML:YES];

[controller addAttachmentData:emailData.reportData mimeType:@"application/pdf" fileName:emailData.reportName];

[self presentViewController:controller animated:YES completion:nil];

有一种解决方法:如果您将邮件正文设置为非HTML([setMessageBody:isHTML:]),则Outlook中的附件会正确显示。但是,这意味着您无法正确格式化电子邮件文本,也无法在电子邮件中添加任何类型的HTML签名。

iOS7会出现此问题;我记不起来了,但我认为附件在iOS6中很好。

是否可以将电子邮件HTML格式化并使PDF附件在Outlook中看起来不错?是Outlook电子邮件创建部分的问题还是更多?其他电子邮件客户端(Gmail或Yahoo)似乎处理得很好。

6 个答案:

答案 0 :(得分:1)

我们正在处理同样的问题,我们的团队今天花了一整天时间在这个问题上。我们今天发现的一件事是,如果PDF只有一个页面,它将导致错误。但是,当我们向PDF添加第二个空白页面时,PDF正确地作为附件发布。

看起来Outlook正在尝试将内容单页PDF显示为内联而非附件。如果你添加第二页,它工作正常。

希望有所帮助。

答案 1 :(得分:1)

您是否有理由将PDF附加为电子邮件中的内联而非正常附件?

知道Mac OS X Mail何时显示PDF内联,何时作为图标

要知道Mac OS X Mail是否会将PDF文件附件显示为图标或内联,请查看文件的长度:

  • 只有一页的PDF文件在消息文本中内嵌显示。
  • 包含两个或更多页面的PDF文件显示为图标。

对于单页PDF文件,您可以分别从上下文菜单中选择“查看为图标”或“在场查看”,在内联和图标显示之间切换。要打开上下文菜单,请用鼠标右键单击PDF(以内嵌或图标显示),在按住Ctrl的同时单击鼠标左键,或者在鼠标光标位于PDF上时用两根手指轻触触控板。

答案 2 :(得分:1)

以下适用于我:

    // Should octet-stream be more specific for a PDF file?
    // YES: It seems that earlier (was this iOS6 or iOS7, before iOS7.1?) that the PDF icon showed up properly with just the @"application/octet-stream" and the fileName having .pdf. However, just now (3/30/14), with iOS7, the PDF icon only showed up when I changed the MIME type to @"application/pdf"
    [email addAttachmentData:data
                       mimeType:@"application/pdf" // @"application/octet-stream"
                       fileName:justFileName];

答案 3 :(得分:0)

选中此http://email.about.com/od/macosxmailtips/qt/et080506.htm

  • 只有一页的PDF文件在消息文本中内嵌显示。
  • 包含两个或更多页面的PDF文件显示为图标。

答案 4 :(得分:0)

我自己一直在处理同样的问题而且我遇到了各种各样的问题(在https://easybooksapp.com/blog/media-types-for-pdf-attachments向我的用户发布博文)。

对于大多数人来说很好,PDF在他们的邮件客户端中显得很好。但对于某些邮件客户端(如Outlook)以及在Chrome中查看Gmail时,我发现您看到的错误相同。尽管附加文件作为正确的MIME类型(application / pdf)发送,但附加的PDF显示为损坏的图像。当用户在iOS Mail设置中设置了HTML签名时,我将这缩小到了iOS上的Mail应用程序如何编码附件的问题。如果他们的签名包括嵌入的图像(图像数据包含在消息中),则会导致问题。当用户删除他们的签名并用纯文本或简单的html签名替换它时,一切都很好!

今天我即将开始研究OS X和iOS如何发送邮件之间的差异,因为在OS X下收到的邮件还可以。我今天刚刚重复相同的测试,发现问题似乎已经在iOS 7.1中消失了。为了确认这一点,我在仍然使用iOS 7.0的旧版iPad上重复了完全相同的步骤,并且存在问题。

所以看起来它实际上是最终的iOS问题。

校正: 我已经将iOS从iOS 7.0更新到7.1,问题仍然存在。我将不得不做更多的工作来找出OS X和iOS 7之间的编码区别。

答案 5 :(得分:0)

使用text / pdf代替application / pdf。