如何在JavaMail中嵌套MimeBodyParts(标准电子邮件)?

alo*_*loo 4 java email google-app-engine jakarta-mail html-email

我正在尝试使用JavaMail发送包含嵌入/内联图像的html电子邮件(带有文本替代).

我想看看格式正确的消息是什么样的,所以我使用带有内嵌图像的gmail发送了一个,下面是原始来源.好像他们在邮件中嵌套了身体部位.如何使用javamail完全复制这个.我发现没有办法将Multipart放在另一个Multipart中.

MIME-Version:1.0收到:10.50.75.3 with HTTP; 星期四,2012年2月23日20:15:34 -0800(太平洋标准时间)日期:星期四,2012年2月23日20:15:34 -0800已发送至:x@gmail.com消息ID:主题:c来自:Foo Bar To :Foo Bar内容类型:multipart/related; 边界= e89a8f3b9b051e124104b9ae03fb

--e89a8f3b9b051e124104b9ae03fb内容类型:multipart/alternative; 边界= e89a8f3b9b051e123604b9ae03fa

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

纯文本内容在这里

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


--e89a8f3b9b051e123604b9ae03fa-- --e89a8f3b9b051e124104b9ae03fb内容类型:image/png; name ="logo.png"Content-Transfer-Encoding:base64 Content-ID:X-Attachment-Id:ii_135ad92205fc1ace

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

更新:

使用标准的多部分内联图像方法(如lechlukasz链接的那些)产生以下电子邮件,而不是我需要的:

MIME-Version:1.0收到:10.236.146.106,SMTP id为q70mr1894063yhj.0.1330071158663; 星期五,2012年2月24日00:12:38 -0800(太平洋标准时间)回复:Foo Bar留言ID:<20cf303bfc80f02cfa04b9b152db@google.com>日期:星期五,2012年2月24日08:12:38 +0000主题:请哦please4来自:Foo Bar To:Foo Bar内容类型:multipart/alternative; 边界= 20cf303bfc80f02ce704b9b152d6

--20cf303bfc80f02ce704b9b152d6 Content-Type:text/plain; 字符集= UTF-8; 格式=流动; delsp = yes Content-Transfer-Encoding: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内容类型:文本/ HTML; charset = ISO-8859-1 Content-Transfer-Encoding:quoted-printable

--20cf303bfc80f02ce704b9b152d6--

Bil*_*non 7

您通过创建MimeBodyPart将Multipart放入另一个Multipart中,将其内容设置为Multipart,并将该body部分添加到第一个Multipart.