Я пытаюсь отправить приглашение на встречу с помощью Javamail. В многоголосных я создаю три mimebodypart, 1.html почты часть тела 2.Calendar Inivte Часть 3.Signature часть изображения (эта часть является проблемой)Как я могу избежать создания файла «AT00001.bin» вместо изображения в качестве основной части приглашения на собрание электронной почты?
, но когда я отправить почту, подпись часть изображения преобразуется в AT00001.bin и отображается вместо изображения подписи.
Изображение отображается, если я удаляю приглашение на участие в календаре из почты. После некоторых исследований я узнал, что часть вложения должна быть последней в почте, чтобы избежать создания этого файла, но после этого проблема продолжается. (Как вы можете видеть в последовательности добавления mimebody)
код части, как показано ниже:
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");
Скажите, пожалуйста, если я делаю что-то неправильно в этом, чтобы получить часть изображения. Есть ли другой способ сделать то же самое?
Да, вы правы Билл, поэтому вы говорите, что я должен проектировать что-то подобное, –
outermultipart ---> 1. multipart (html body + signature) 2. Приглашение к календарю –
Спасибо за вашу помощь Билл. –