2016-03-30 46 views
0

我爲一家公司開發了一款應用程序。該應用程序生成施工現場報告,可以導出並通過電子郵件發送。一切都很好,但他們剛剛回到我說,一旦附加的pdf變得相當大(> 10mb),電子郵件將不會從某些設備發送,而是保存到發件箱,並顯示錯誤「被服務器拒絕」。帶有pdf附件的iOS電子郵件'被服務器拒絕'

我似乎無法自己重現此錯誤,它適用於我嘗試過的所有設備/模擬器。

產生錯誤的設備都是安裝了最新iOS版本的iPad Air 1(9.3)。

有關此錯誤的解決方案和原因的任何想法?

他們需要用他們的電子郵件更正一些設置嗎?

在此先感謝。

回答

0

經過大量研究和失敗嘗試,我終於解決了這個問題。

我把我的圖像從核心數據放入html中,圖像以二進制數據形式存儲。這些數據被轉換爲base64字符串,因此可以將其添加到html中,轉換爲pdf並通過電子郵件發送/打印。

閱讀了關於圖像和核心數據之後,我發現將二進制數據存儲在覈心數據中並不是一個推薦的想法,更好的解決方案是將圖像本地保存到應用程序中並存儲對圖像的引用在覈心數據即文件路徑中。這解決了問題,現在報告沒有問題地發送。

0

我認爲它是相當安全的假設它只是某些收件人的郵件系統的情況下拒絕一定大小的附件。我建議手動發送附件大於10MB的電子郵件到受影響的電子郵件地址可能有助於明確它不是應用程序本身固有的問題。

或者,如果可能的話,發送較小的PDF文件當然是有意義的。如果PDF包含JPEGS,則試驗圖像大小和壓縮比以嘗試保持低於10MB是有意義的。

+0

感謝@Markus,但無論您發送的是什麼電子郵件,它是hotmail,gmail等都無所謂 –

+1

在這些情況下,它可能是傳出郵件服務器的問題嗎? –

+0

我在想,作爲一種可能性,但不知道要尋找什麼來找出問題。有任何想法嗎? –