java - 向现有 MimeMessage 添加附件

标签 java jakarta-mail eml

我正在阅读这样的 Mime 消息:

             InputStream is = new FileInputStream("c:\\Temp\\test.eml");
             MimeMessage message = new MimeMessage(session,is);

现在我只需要在现有的 MimeMessage 中添加一个附件,而无需更改任何其他内容。

我该怎么做?

我试过:

        messageBodyPart = new MimeBodyPart();

             DataSource source = new FileDataSource("C:\\attachment.pdf");
             messageBodyPart.setDataHandler(new DataHandler(source));
             messageBodyPart.setFileName("encrypted_body.pdf");
             multipart.addBodyPart(messageBodyPart);

             // Send the complete message parts
             message.setContent(multipart);

但它似乎改变了原来的消息。

最佳答案

因此,在这种情况下,答案将是创建一个包含旧消息内容的新消息,如下所示:Multipart multipart = (Multipart)message.getContent();

然后将附件添加到新邮件中。

关于java - 向现有 MimeMessage 添加附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20264964/

相关文章:

java - 如何让javamail支持http代理

java mail - 处理csv附件

php - 从原始正文发送邮件用于测试目的

java - 转到 Spring 4 后,我的 Autowiring 中断了

java - 事件监听器卡住 (Java)

Java mailto 到 MIME

java - 在 linux 中用 java 打开一个 eml 文件

java - 从带有附件的 eml 文件发送邮件

java - android 将项目从数组列表添加到数组列表

JavaFX - 如何禁用/关闭 WebViews HTML 渲染器