Multipart嵌套到Multipart Embedded encodded image base 64 javamail

Multipart nested into Multipart Embedded encodded image base 64 javamail

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

下面是我发件人的一部分 class。它适用于附件、纯文本等 on.Any 帮助将不胜感激!

 // 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);

您的原始邮件有一个额外级别的嵌套多部分,您的代码中没有。

// 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);