0

Javamailを使用して会議出席依頼を送信しようとしています。マルチパートで は、私は3つのMimeBodyPart、 1.HTMLメールボディ部 2.Calendar Inivteパート 3.Signature画像部分(この部分が問題である)イメージの代わりに "AT00001.bin"ファイルの作成を回避するには、電子メールミーティングの招待状の本文部分を使用しますか?

を私はメールを送信する、署名を作成しています画像部分はAT00001.binに変換され、署名画像の代わりに表示されます。

メールからカレンダーの招待状を削除すると画像が表示されます。 私は、このファイルの作成を避けるために、添付ファイルの部分がメールの最後でなければならないことを知りましたが、問題が続くことを確認しました(mimebodyのaddpartシーケンスのように)

 Multipart multipart = new MimeMultipart("mixed"); 
     BodyPart messageBodyPart = buildHtmlTextPart(); //html is read and added to the mail body part 
     BodyPart calendarPart = buildCalendarPart(); 
     BodyPart signatureImagePart = buildSignatureImagePart(); //image is read and added as a content part of html. 

     multipart.addBodyPart(messageBodyPart); 
     multipart.addBodyPart(calendarPart); 
     multipart.addBodyPart(signatureImagePart); 

buildSignatureImagePart(

 MimeBodyPart signatureimagepart = new MimeBodyPart(); 
     DataSource fds = new FileDataSource(filePath); //filepath is image file location 

     signatureimagepart.setDataHandler(new DataHandler(fds)); 
     signatureimagepart.setHeader("Content-ID", "<my-image-id>"); 

buildHtmlTextPart(、以下の通りである)

、以下の通りである:

コード部分は、以下の通りであります

 MimeBodyPart descriptionPart = new MimeBodyPart(); 

     descriptionPart.setContent("<html><body><b>Test</b> email <img src='cid:my-image-id'></body></html>", "text/html; charset=utf-8"); 

イメージの一部を取得するために私がこれに間違っているかどうか教えてください。 同じことを行う他の方法はありますか?

答えて

0

メッセージの構造が間違っています。

あなたが望むのは、外側のミアパイプ/ミックスです。最初のボディパートはマルチパート/関連、2番目のボディパートはカレンダーアタッチメントです。 multipart/relatedには、htmlテキストとそれが参照する署名イメージという2つの部分があります。

+0

はい、あなたは正しいビルですので、このようなものを設計する必要があります。 –

+0

outermultipart ---> 1. multipart(html body + signature)2. calendar invoke –

+0

あなたの助けをありがとうBill。 –

関連する問題