【问题标题】:How to add a MimeMultipart to another one?如何将 MimeMultipart 添加到另一个?
【发布时间】:2015-04-10 06:40:06
【问题描述】:

这可能是一个非常愚蠢的问题,但我正在尝试撰写一封电子邮件,例如suggested here

  • 多部分/混合
    • 多部分/替代
      • 文本/html
      • 文本/纯文本
    • 附件1
    • 附件2

所以我有

MimeMultipart altPart = new MimeMultipart("alternative");

BodyPart textPart = new MimeBodyPart();
textPart.setContent("someText", "text/plain");
altPart.addBodyPart(textPart);

BodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent("someHtml", "text/html");
altPart.addBodyPart(htmlPart);

MimeMultipart mixedPart = new MimeMultipart("multipart/mixed");

并且需要将altPart 添加到mixedPart,但我不能因为唯一的添加方法只接受BodyPart。什么鬼?

请注意,与here 不同,我不会混淆软件包。

【问题讨论】:

    标签: java email jakarta-mail


    【解决方案1】:

    您需要使用MimeBodyPart.setContent(Multipart mp) 方法将您的MimeMultipart 包装在另一个MimeBodyPart 中。然后您可以将MimeBodyPart 添加到mixedPart 对象中:

    MimeMultipart alternativeMultipart = new MimeMultipart("alternative");
    
    BodyPart textPart = new MimeBodyPart();
    textPart.setContent("someText", "text/plain");
    alternativeMultipart.addBodyPart(textPart);
    
    BodyPart htmlPart = new MimeBodyPart();
    htmlPart.setContent("someHtml", "text/html");
    alternativeMultipart.addBodyPart(htmlPart);
    
    MimeBodyPart alternativeBodyPart = new MimeBodyPart();
    alternativeBodyPart.setContent(alternativeMultipart);
    
    MimeMultipart mixedMultipart = new MimeMultipart("mixed");
    mixedMultipart.addBodyPart(alternativeBodyPart);
    
    MimeBodyPart textPart1 = new MimeBodyPart();
    textPart1.setContent("someOtherText", "text/plain");
    mixedMultipart.addBodyPart(textPart1);
    

    【讨论】:

      猜你喜欢
      • 2012-04-03
      • 2017-05-21
      • 2020-11-05
      • 1970-01-01
      • 2020-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-17
      相关资源
      最近更新 更多