1

我正在阅读这样的 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);

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

4

1 回答 1

4

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

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

于 2013-12-01T10:56:04.817 回答