javamail 一些資源..
看到幾位朋友對這挺感興趣的,整理點(diǎn)資料放在這里共享一下.
老本家
http://java.sun.com/products/javamail/index.jsp developerworks 的教程 JavaMail API 基礎
https://www6.software.ibm.com/developerworks/cn/education/java/j-javamail/tutorial/index.html 本地下載JavaMail FAQ: 好東西
http://java.sun.com/products/javamail/FAQ.html無(wú)中文困撓的使用JavaMail收取郵件
http://www.javayou.com/showlog.jspe?log_id=372
使用JavaMail的郵件發(fā)送組件http://www.javayou.com/showlog.jspe?log_id=136
最后一個(gè)就是簡(jiǎn)化了javamail開(kāi)發(fā)的。
Jakarta Commons Emails
---------------------------------------------------------------------------------
以前寫(xiě)的一篇介紹:
《簡(jiǎn)化JavaMail:小巧 Jakarta Commons-Email 簡(jiǎn)單教程 》
順便再整理一下,朋友討論的關(guān)于一些jakarta commons email出現亂碼的問(wèn)題:
一:通過(guò)SimpleEmail發(fā)送中文內容出現亂碼的問(wèn)題
SimpleEmail的代碼如下
1public class SimpleEmail extends Email {
2 /** *//**
3 * Set the content of the mail
4 *
5 * @param msg A String.
6 * @return An Email.
7 * @throws EmailException see javax.mail.internet.MimeBodyPart
8 * for definitions
9 * @since 1.0
10 */
11 public Email setMsg(String msg) throws EmailException {
12 if (EmailUtils.isEmpty(msg)) {
13 throw new EmailException("Invalid message supplied");
14 }
15 setContent(msg, Email.TEXT_PLAIN);
16 return this;
17 }
18} 只是采用默認的,
1public static final String TEXT_PLAIN = "text/plain"; 并沒(méi)有指定編碼。
如果通過(guò)SimpleEmail發(fā)送,需要指定編碼: 的說(shuō)明
1email.setContent("測試郵件", "text/plain;charset=GBK"); 二:關(guān)于附件中文名稱(chēng)亂碼的問(wèn)題:
需使用MimeUtility
原因是在MIME的相應規范中(RFC2047等)說(shuō)明了附件標題必須是US-ASCII字符, 所以在發(fā)送中文標題的附件時(shí)需要編碼成US-ASCII字符, 有兩種編碼方式: B (BASE64), Q (Quoted-Printable), 這些方法在MimeUtility里
都已經(jīng)做了封裝, 所以在發(fā)送附件時(shí)使用如下:
1MimeUtility.encodeText(filename));
1 EmailAttachment attachment = new EmailAttachment();
2 attachment.setPath("c:\\測試.txt");
3 attachment.setDisposition(EmailAttachment.ATTACHMENT);
4 attachment.setDescription("測試文件");
5
6 //
7 attachment.setName(MimeUtility.encodeText("測試文件.txt"));
8
9 MultiPartEmail email = new MultiPartEmail();
10 email.setHostName("192.168.0.3");
11 email.setAuthentication("martin.xus", "1234");
12 email.addTo("martin.xus@192.168.0.3", "martin");
13 email.setFrom("martin.xus@192.168.0.3", "martin");
14
15 email.setSubject("測試帶附件");
16 email.setMsg("該郵件含附件");
17 //添加附件
18 email.attach(attachment);
19 //發(fā)送郵件
20 email.send(); end
---------------------------------------------------------------------------------
我想這些資源已經(jīng)足夠 o_o
你還想知道什么:)
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。