【问题标题】:Attach a MimeMessage to another MimeMessage将 MimeMessage 附加到另一个 MimeMessage
【发布时间】:2019-04-10 02:52:32
【问题描述】:

我有一个 MimeMessage A,想添加另一个 MimeMessage B 作为附件。

我的(不工作)尝试:

MimeBodyPart mimeBodyPart = new MimeBodyPart();
mimeBodyPart.setContent(base64mimeMessage, "message/rfc822");
mimeBodyPart.setHeader("Content-Transfer-Encoding", "base64");
multipart.addBodyPart(mimeBodyPart);

当我尝试签名或加密结果时,这会导致java.io.IOException: unsupported object at com.sun.mail.handlers.message_rfc822.writeTo

【问题讨论】:

    标签: java mime mime-message


    【解决方案1】:

    也许它对其他人有帮助,所以这是一个可行的解决方案

    MimeBodyPart mimeBodyPart = new MimeBodyPart();
    DataSource dataSource = new ByteArrayDataSource(Base64.decode(itemAttachment.getMimeContent(), Base64.DEFAULT), "message/rfc822");
    mimeBodyPart.setDataHandler(new DataHandler(dataSource));
    multipart.addBodyPart(mimeBodyPart);
    

    【讨论】:

      【解决方案2】:
      Session session = Session.getInstance(new Properties());
      MimeMessage mimeMessageToAttach = new MimeMessage(session);
      
      MimeBodyPart attachment = new MimeBodyPart();
      String contentType = "message/rfc822; name=mymail.eml";
      attachment.setContent(mimeMessageToAttach, contentType);
      
      MimeMultipart multipart = new MimeMultipart();
      multipart.addBodyPart(mimeBodyPart);
      

      【讨论】:

        猜你喜欢
        • 2017-04-08
        • 2013-12-14
        • 2020-02-20
        • 2016-07-10
        • 2016-04-09
        • 2019-03-02
        • 1970-01-01
        • 2020-02-20
        • 2019-04-30
        相关资源
        最近更新 更多