2012-02-24 112 views
4

我試圖發送一個包含使用JavaMail的嵌入/內聯圖像的html電子郵件(帶有文本替代)。如何在JavaMail中嵌套MimeBodyParts(標準電子郵件消息)?

我想看看格式正確的消息是什麼樣子,所以我發送了一個使用內聯圖像的Gmail,下面是原始源。看起來好像他們在消息中嵌套身體部位。我該如何複製這個使用javamail的。我發現沒有辦法將Multipart放入另一個Multipart內部。

MIME-Version:1.0收到:10.50.75.3與HTTP; 2012年2月23日(星期五) 20:15:34 -0800(PST)日期:2012年2月23日星期四20:15:34 -0800 已送達至:[email protected] Message-ID: Subject:c From :Foo Bar To:Foo Bar Content-Type:multipart/related; boundary = e89a8f3b9b051e124104b9ae03fb

--e89a8f3b9b051e124104b9ae03fb Content-Type:multipart/alternative; border = e89a8f3b9b051e123604b9ae03fa

--e89a8f3b9b051e123604b9ae03fa Content-Type:text/plain;字符集= ISO-8859-1

純文本內容放在這裏

--e89a8f3b9b051e123604b9ae03fa的Content-Type:text/html的;字符集= ISO-8859-1


--e89a8f3b9b051e123604b9ae03fa-- --e89a8f3b9b051e124104b9ae03fb內容類型:圖像/ PNG;名稱=爲 「Logo.png」 內容傳輸編碼:BASE64內容ID: X-附件-ID:ii_135ad92205fc1ace

iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVR42u3ZsQnAIBBGYVtHShVI 7ViprASXcw8HMCckEGyTkB98xWsE4WvOwnMhBG/tVrGaSOU0 + Q5MVhMtdWAVBlY3HCyW + 7nlbhqB TiGAAAECBAhwMqB0AN8ANuUkgQzJvEPy1WP75C5AgAABAgQ4GXATAK4DUP8LOAsD87WGiIJriGj5 AwiiiyDxmymtAAAAAElFTkSuQmCC --e89a8f3b9b051e124104b9ae03fb- -

UPDATE:

使用斯坦DARD多內嵌圖像方法(如那些由lechlukasz鏈接)產生以下電子郵件,不太我需要什麼:

MIME-版本:1.0收稿日期:通過10.236.146.106,SMTP id爲 q70mr1894063yhj.0.1330071158663; 2012年2月24日星期五00:12:38 -0800 (PST)回覆:Foo Bar Message-ID: < 20cf303bfc80f02cfa04b9b152db @ google。com>日期:2012年2月24日,星期五 08:12:38 +0000標題:please oh please4來自:Foo Bar 致:Foo Bar Content-Type: multipart/alternative; border = 20cf303bfc80f02ce704b9b152d6

- 20cf303bfc80f02ce704b9b152d6 Content-Type:text/plain;字符集= UTF-8;格式=流動; delsp =是內容傳送編碼: 的base64

77 + 9UE5HDQoaDQoAAAANCklIRFIAAAAoAAAAKAgGAAAA77 + 977 + 977 + 9bQAAAO +/vUlEQVR477 + 9 77 + 977 + 977 + 9Ce +/vSAgDQoQRmFbR0oVSO +/vVjvv73vv70E77 + 9cw8HMCckEGzvv73vv70ffO +/vWsE77 + 9A ++/VE +/vXMhBG/vv71W77 + 977 + 9SO +/vTTvv70OTFYTLXVgFQZWNxws77 + 977 + 977 + 9 77 + 9bhrvv71OIe +/vQABAgQIcDLvv710AO +/vQA277 + 9JO +/vQzvv73vv71D77 + 977 + 9Y ++/VE +/ vS5A77 + 9AAECBDgZcBMA77 + 9A1Dvv70LOAsD77 + 977 + 977 + 977 + 977 + 9A ++/vWjvv70DCO +/ve +/vSDvv73vv70p77 + 9AAAAAElFTkTvv71CYO +/vQ0K - 20cf303bfc80f02ce704b9b152d6 Content-Type:text/html;字符集= ISO-8859-1內容傳輸編碼:引用可打印

--20cf303bfc80f02ce704b9b152d6--

回答

0

你的意思是這樣的:

http://java.sun.com/developer/onlineTraining/JavaMail/contents.html#IncludingImagesWithHTML

請注意,您還需要修改您的html以指定c id:標識爲圖片src。

+0

沒有。這沒有替代html的文本。此外,它不使用嵌套的身體部位,只是多個。 – aloo 2012-02-24 08:16:06

+0

我知道我已經做過類似的事情,並且已經找到類似的教程,但我現在既沒有鏈接,也沒有代碼。 cid對我來說是最困難的部分。 – 2012-02-24 12:52:41

7

通過創建MimeBodyPart,將Multipart的內容設置爲Multipart,並將該Body部分添加到第一個Multipart,可以將Multipart放入另一個Multipart。

相關問題