0

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

Outlook 无法显示附件

(附件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)似乎处理得很好。

4

6 回答 6

1

我们正在处理同一个问题,我们的团队今天花了一整天的时间来解决这个问题。我们今天发现的一件事是,如果 PDF 只有一页,就会导致错误。但是,当我们向 PDF 添加第二个空白页时,PDF 以附件的形式正确通过。

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

希望有帮助。

于 2013-10-04T20:55:14.437 回答
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];
于 2014-03-30T20:07:23.570 回答
1

您是否有理由将 PDF 附加为内联而不是电子邮件中的普通附件?

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

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

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

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

于 2013-10-15T03:24:44.427 回答
0

我自己一直在解决同样的问题,并且遇到了各种各样的问题(在https://easybooksapp.com/blog/media-types-for-pdf-attachments上给我的用户的博客文章)。

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

今天我正要开始研究 OS X 和 iOS 如何发送邮件之间的差异,因为在 OS X 下邮件接收正常。我今天刚刚重复了相同的测试,发现问题似乎在 iOS 7.1 中消失了。为了确认这一点,我在仍然装有 iOS 7.0 的旧 iPad 上重复了完全相同的步骤,并且问题和以前一样存在。

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

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

于 2014-04-10T15:18:48.643 回答
0

检查这个http://email.about.com/od/macosxmailtips/qt/et080506.htm

  • 只有一页的 PDF 文件在消息文本中内嵌显示。
  • 具有两页或多页的 PDF 文件显示为图标。
于 2013-10-10T05:31:54.173 回答
0

使用文本/pdf 而不是应用程序/pdf。

于 2014-07-07T14:47:02.407 回答