Multipart嵌套到Multipart Embedded编码图像库64 javamail中

时间:2015-10-22 16:01:18

标签: html javamail multipartform-data

我有一封包含多部分/替代部分的电子邮件。在这部分中有一个多部分/相关部分;在这个multipart / realted部分我有一个text / html和image / jpg。我试图提取这两个部分并将标签添加到html部分消息并再次撰写。 html和图像部分应该看起来一样。我只在html部分插入了一个标签。但是当我尝试再次撰写邮件时,我无法管理。我不知道如何将这个多部分重新嵌套到另一个多部分中。我有这个   进入原始电子邮件并再次进入我的htmlmessageBodyPart。但是当我重新显示电子邮件时,图像就会被破坏。

下面的

是我的发件人类的一部分。它适用于附件,纯文本等。任何帮助将不胜感激!

 // create a multi-part to combine the parts
        Multipart multipart = new MimeMultipart(
                setSubtype(origMessage));

        // create a new message part for body text
        MimeBodyPart messageBodyPart = new MimeBodyPart();

            messageBodyPart.setText(message);
            messageBodyPart.setDisposition(MimePart.INLINE);
            multipart.addBodyPart(messageBodyPart);

            BodyPart htmlmessageBodyPart = new MimeBodyPart();
            htmlmessageBodyPart.setContent(html, content);
            htmlmessageBodyPart.setDisposition("null");
            multipart.addBodyPart(htmlmessageBodyPart);

        MimeBodyPart imageBodyPart = new MimeBodyPart();
        imageBodyPart.setHeader("Content_ID",
                "<part1.40705.09505@something.com>");
        imageBodyPart.setDisposition(MimePart.INLINE);
        imageBodyPart.setContent(html,"image/png");
        imageBodyPart.attachFile(file);
        multipart.addBodyPart(imageBodyPart);

        msg.setContent(multipart1);

        Transport.send(msg);

1 个答案:

答案 0 :(得分:0)

您的原始邮件的代码中缺少额外级别的嵌套多部分。

// add text/plain part to multipart, then...
Multipart innerMultipart = new MimeMulpart("related");
// add html and image parts to innerMultipart
MimeBodyPart mbp = new MimeBodyPart();
mbp.setContent(innerMultipart);
multipart.addBodyPart(mbp);