標籤:
上篇文章介紹了自己手動的實現發送普通Email、HTML類型的Email以及帶附件的Email。其實apache的commons項目下有個email子項目,它對JavaMail API進行了封裝,用起來特變方便。下面就簡單介紹。
1. 首先配置需要的jar包
需要將mail.jar和commons-email.jar添加到我們的CLASSPATH中即可,如:
2. 發送普通郵件
/** * 用org.apache.commons.mail發送普通郵件 * * @author wangzhipeng * */public class TestCommon {public TestCommon() {}public static void main(String[] args) {SimpleEmail email = new SimpleEmail();email.setHostName("smtp.qq.com");// 設定使用發電子郵件的郵件伺服器,這裡以qq郵箱為例(其它例如:【smtp.163.com】,【smtp.sohu.com】)try {// 收件者郵箱email.addTo("[email protected]");// 郵箱伺服器身分識別驗證email.setAuthentication("你的郵箱地址", "你的郵箱密碼");// 寄件者郵箱email.setFrom("你的郵箱地址");// 郵件主題email.setSubject("zhipeng-JavaMail");// 郵件內容email.setMsg("Kobe Bryante Never Stop Trying");// 發送郵件email.send();} catch (EmailException ex) {ex.printStackTrace();}}}
3. 發送HTML類型郵件
/** * 用org.apache.commons.mail發送HTML郵件 * * @author wangzhipeng * */public class TestCommonHTML {public TestCommonHTML() {}public static void main(String[] args) {// 不要使用SimpleEmail,會出現亂碼問題HtmlEmail email = new HtmlEmail();// SimpleEmail email = new SimpleEmail();try {// 這裡是SMTP發送伺服器的名字:qq的如下:email.setHostName("smtp.qq.com");// 字元編碼集的設定email.setCharset("gbk");// 收件者的郵箱email.addTo("你的郵箱地址");// 發送人的郵箱email.setFrom("[email protected]", "wangzhipeng");// 如果需要認證資訊的話,設定認證:使用者名稱-密碼。分別為寄件者在郵件伺服器上的註冊名稱和密碼email.setAuthentication("你的郵箱地址", "你的郵箱密碼");email.setSubject("下午3:00會議室討論,請準時參加");// 要發送的資訊,由於使用了HtmlEmail,可以在郵件內容中使用HTML標籤email.setMsg("<h1 style='color:red'>下午3:00會議室討論</h1>" + " 請準時參加!");// 發送email.send();System.out.println("郵件發送成功!");} catch (EmailException e) {e.printStackTrace();System.out.println("郵件發送失敗!");}}}
結果如下:
Java發送Email—使用org.apache.commons.mail