将 MimeMessage 附加到另一个 MimeMessage

Posted

技术标签:

【中文标题】将 MimeMessage 附加到另一个 MimeMessage【英文标题】:Attach a MimeMessage to another 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

【问题讨论】:

【参考方案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);

【讨论】:

以上是关于将 MimeMessage 附加到另一个 MimeMessage的主要内容,如果未能解决你的问题,请参考以下文章

python MIME将多个附件附加到多部分消息

将一些文件附加到 MIME 多部分电子邮件

将富文本和图像从一个文档复制到另一个文档的 MIME

如何将 msg 中的附件附加到 Mime 以在 Python 中作为电子邮件发送?

将 MIME 中的附加数据嵌入到电子邮件的 HTML 部分。未链接到附件

有哪些 .NET Mime Parsing 库可用? [关闭]