2011-01-31 138 views
0

我想用Java發送電子郵件,我正在使用apache commons電子郵件庫。使用Java發送包含pdf附件的HTML電子郵件

我不能達到與身體爲HTML和附件爲PDF(或任何文件類型)

如果我使用EmailAttachment(),並把它添加到一個HTML電子郵件的對象,我的郵件看起來像發送電子郵件兩個附件。第一個是HTML,第二個是PDF。

有沒有辦法做到這一點?

非常感謝!

+0

你能發佈相關的代碼片段嗎? – 2011-01-31 17:09:16

回答

0

聽起來像是一種正常的行爲,用於發送文本和HTML和/或郵件客戶端(在接收端)優先發送文本電子郵件。我懷疑這是由於客戶端的行爲所致,您無法更改(但正面的所有 HTML電子郵件都會顯示爲這樣)。

事情是,一個HTML電子郵件(帶有文本組件)確實是一個多部分消息,HTML內容作爲「額外」部分之一。您實際上從服務器端發送的電子郵件中包含大量文本,並由接收郵件客戶端決定如何顯示它。在這方面,客戶將HTML作爲附件顯示並不錯 - 就像智能客戶端推斷HTML不是「真實」附件並激活文本之間的某種切換和HTML(而不是將其顯示爲附件)。

如果你相信,客戶通常會處理HTML智能本的方式,則:

  1. 你就不得不提到您正在使用要檢查的客戶,因爲這是不是真的與發送本身有關的問題;和
  2. 您可能需要查看「有效」的電子郵件的原始來源,以及您的電子郵件,以確定觸發不同呈現模式的關鍵差異。根據客戶端軟件的不同,這可能只是關於任何事情 - 但我會特別注意部分MIME類型和字符集。
0

我試過apache commons mail v1.2而不是1.1。

It works!?

Andrej,非常感謝您的幫助。

相關問題