2013-11-28 32 views
1

我读MIME邮件是这样的:添加附件,以现有的MimeMessage

   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

因此,在这种情况下,答案是创建一个新的信息与旧信息像这样的内容:Multipart multipart = (Multipart)message.getContent();

然后将附件添加到新的消息。