2013年9月24日 星期二

使用 JavaMail 發送帶有附件的郵件

真正需要額外加上資訊的只有在產生 Multipart 的資訊時,要額外放入附件的資訊。

簡單來說,附件其實也是一種 Body Part,跟郵件內容是一樣的
一封郵件的組成如同 [1] 的附圖:


因此要做附件時,只不過是增加額外的 Body Part 而已。

範例程式碼如下:(只放關於加入 attachment 的部分程式碼)
// Content of the mail.
String messageText = "";
// Attached file.
File attachedFile = new File("");

Multipart mp = new MimeMultipart();

// Create content of the mail.
MimeBodyPart mbp = new MimeBodyPart();
mbp.setContent(messageText, "text/html; charset=UTF-8");
mbp.setHeader("Content-Transfer-Encoding", "base64");
mp.addBodyPart(mbp);

// Create body part for the attachment.
MimeBodyPart attachPart = new MimeBodyPart();
// Code to add attachment...
attachPart.attachFile(attachFile);
mp.addBodyPart(attachPart);


參考資料:
1、Send e-mail with attachment in Java

沒有留言: