2013-11-28 185 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();

然後將附件添加到新的消息。