2013-10-03 71 views
0

當我從iOS設備發送包含PDF附件的電子郵件時,PDF附件無法在Outlook郵件客戶端中正確顯示。下面是它的樣子:從iOS發送的PDF附件在Outlook郵件客戶端中未正確顯示

Outlook can't display the attachment

(附件PDF實際發送,如果您右鍵單擊電子郵件,然後選擇「查看附件」,然後你就可以查看PDF然而,與紅十字會的客戶認爲,該附件未正確連接)

這裏是發送電子郵件的代碼:

MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init]; 
controller.mailComposeDelegate = self; 
[controller setToRecipients:@[@"[email protected]"]]; 
[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或雅虎)似乎正在處理這個問題。

+0

您已經設置了pdf mime類型,但沒有設置文件擴展名。改變是否解決了這個問題? – Wain

+0

是不是文件擴展名的一部分?我將文件名設置爲xxx.pdf。 – Guven

回答

1

我們正在研究相同的問題,我們的團隊今天在這一天花了一整天時間。我們今天發現的一件事是,如果PDF只有一個頁面,則會導致錯誤。但是,當我們向PDF添加第二個空白頁面時,PDF作爲附件正確顯示。

它看起來像Outlook試圖顯示一個頁面PDF內聯,而不是作爲附件。如果你添加第二頁,它工作得很好。

希望有所幫助。

+0

謝謝基思。是的,內聯PDF似乎會導致很多問題。不幸的是,我無法控制PDF文件的頁數。但是,這解釋了爲什麼有些用戶會遇到問題,而另一些用戶則不會! – Guven

1

您是否有理由將PDF附加爲電子郵件中的內嵌正常附件?

知道什麼時候的Mac OS X Mail中會顯示一個PDF內嵌,當作爲圖標

要知道的Mac OS X Mail中是否會顯示一個PDF文件附件爲一個圖標或內聯,看文件的長度:

  • 只有一個頁面的PDF文件以內聯方式顯示在消息文本中。
  • 帶有兩個或更多頁面的PDF文件顯示爲圖標。

對於單頁PDF文件,您可以通過分別從上下文菜單中選擇查看爲圖標或就地查看來在內聯和圖標顯示之間切換。要打開上下文菜單,請使用鼠標右鍵單擊PDF(內聯或圖標),在按住Ctrl的同時單擊鼠標左鍵或在鼠標光標位於PDF上時用觸控板上的兩個手指點擊。

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]; 
0

我已經工作了同樣的問題我自己,我一直有(在https://easybooksapp.com/blog/media-types-for-pdf-attachments博客文章到我的用戶)的種種問題。

對於大多數人來說,沒關係,PDF出現在他們的郵件客戶端中。但對於某些郵件客戶端(例如Outlook)以及在Chrome中查看Gmail時,我看到了與您相同的錯誤。儘管附件文件是以正確的MIME類型(application/pdf)發送的,但所附PDF仍然顯示爲破碎的圖像。我將這個問題縮小到了iOS用戶的郵件應用程序在用戶的iOS郵件設置中設置了HTML簽名時如何對附件進行編碼的問題。如果他們的簽名包含嵌入式圖像(圖像數據包含在消息中),則會導致問題。當用戶刪除他們的簽名並將其替換爲純文本或簡單的html簽名時,它都很好!

今天我即將開始尋找OS X和iOS發送郵件的區別,就像在OS X下收到郵件沒問題。我今天重複了相同的測試,發現這個問題似乎在iOS 7.1中消失了。爲了證實這一點,我已經對仍然存在iOS 7.0的較舊的iPad重複了完全相同的步驟,並且問題依然存在。

所以它最終看起來實際上是一個iOS問題。

更正: 我已將iPad從iOS 7.0更新到7.1,並且問題仍然存在。我將不得不做更多的工作來找出OS X和iOS 7之間的編碼差異。

相關問題