春風博客

          春天里,百花香...

          導航

          <2010年8月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          統計

          公告

          MAIL: junglesong@gmail.com
          MSN: junglesong_5@hotmail.com

          Locations of visitors to this page

          常用鏈接

          留言簿(11)

          隨筆分類(224)

          隨筆檔案(126)

          個人軟件下載

          我的其它博客

          我的鄰居們

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          JavaMail郵件發送實用類

          在Web開發中,文本郵件發送的任務比較常見,我們可以利用它進行一些客戶通知和異常通知,文本郵件發送一般用到JavaMail API,下面是一個我有時用到的郵件發送實用工具類,把其中一些參數修改一下就能為你所用。

           

          注意:在執行代碼前,請把mail.jaractivation.jar載入工程。 

           

          代碼如下:

          1. package com.heyang;
          2. import java.util.Date;
          3. import java.util.Properties;
          4. import javax.mail.Address;
          5. import javax.mail.Message;
          6. import javax.mail.Session;
          7. import javax.mail.Transport;
          8. import javax.mail.internet.InternetAddress;
          9. import javax.mail.internet.MimeMessage;
          10. /**
          11.  * 常規JavaMail 郵件發送實用類
          12.  * @author: 何楊(heyang78@gmail.com)
          13.  * @date: 2008-8-6-下午02:43:22
          14.  */
          15. public final class MailUtil {
          16.     // 郵件發送者地址
          17.     private static final String SenderEmailAddr = "XXXXXXX@163.com";
          18.     // 郵件發送者郵箱用戶
          19.     private static final String SMTPUserName = "XXXX";
          20.     
          21.     // 郵件發送者郵箱密碼
          22.     private static final String SMTPPassword = "XXXXXXX";
          23.     // 郵件發送者郵箱SMTP服務器
          24.     private static final String SMTPServerName = "smtp.163.com";
          25.     // 傳輸類型
          26.     private static final String TransportType = "smtp";
          27.     // 屬性
          28.     private static Properties props;
          29.     /**
          30.      * 私有構造函數,防止外界新建本實用類的實例,因為直接使用MailUtil.sendMail發送郵件即可
          31.      *
          32.      */
          33.     private MailUtil() {
          34.     }
          35.     /**
          36.      * 靜態構造器
          37.      */
          38.     static {
          39.         MailUtil.props = new Properties();
          40.         // 存儲發送郵件服務器的信息
          41.         MailUtil.props.put("mail.smtp.host", MailUtil.SMTPServerName);
          42.         // 同時通過驗證
          43.         MailUtil.props.put("mail.smtp.auth""true");
          44.     }
          45.     /**
          46.      * 發送郵件
          47.      * @param emailAddr:收信人郵件地址
          48.      * @param mailTitle:郵件標題
          49.      * @param mailConcept:郵件內容
          50.      */
          51.     public static void sendMail(String emailAddr, String mailTitle,
          52.             String mailConcept) {
          53.         // 根據屬性新建一個郵件會話,null參數是一種Authenticator(驗證程序) 對象
          54.         Session s = Session.getInstance(MailUtil.props, null);
          55.         // 設置調試標志,要查看經過郵件服務器郵件命令,可以用該方法
          56.         s.setDebug(false);
          57.         
          58.         // 由郵件會話新建一個消息對象
          59.         Message message = new MimeMessage(s);
          60.         try {
          61.             // 設置發件人
          62.             Address from = new InternetAddress(MailUtil.SenderEmailAddr);
          63.             message.setFrom(from);
          64.             // 設置收件人
          65.             Address to = new InternetAddress(emailAddr);
          66.             message.setRecipient(Message.RecipientType.TO, to);
          67.             // 設置主題
          68.             message.setSubject(mailTitle);
          69.             // 設置信件內容
          70.             message.setText(mailConcept);
          71.             // 設置發信時間
          72.             message.setSentDate(new Date());
          73.             // 存儲郵件信息
          74.             message.saveChanges();
          75.             Transport transport = s.getTransport(MailUtil.TransportType);
          76.             // 要填入你的用戶名和密碼;
          77.             transport.connect(MailUtil.SMTPServerName, MailUtil.SMTPUserName,
          78.                     MailUtil.SMTPPassword);
          79.             // 發送郵件,其中第二個參數是所有已設好的收件人地址
          80.             transport.sendMessage(message, message.getAllRecipients());
          81.             transport.close();
          82.             System.out.println("發送郵件,郵件地址:" + emailAddr + " 標題:" + mailTitle
          83.                     + " 內容:" + mailConcept + "成功!");
          84.         } catch (Exception e) {
          85.             System.out.println(e.getMessage());
          86.             System.out.println("發送郵件,郵件地址:" + emailAddr + " 標題:" + mailTitle
          87.                     + " 內容:" + mailConcept + "失敗! 原因是" + e.getMessage());
          88.         }
          89.     }
          90.     /**
          91.      * 測試郵件發送情況
          92.      * @param args
          93.      */
          94.     public static void main(String[] args){
          95.         MailUtil.sendMail("XXXXXX@gmail.com""title""concept");
          96.     }
          97. }

          posted on 2008-08-08 12:54 sitinspring 閱讀(2510) 評論(5)  編輯  收藏 所屬分類: Java API

          評論

          # re: JavaMail郵件發送實用類 2008-11-12 11:05 xx

          可以用的。謝謝。  回復  更多評論   

          # re: JavaMail郵件發送實用類 2009-01-05 14:19 123

          謝謝,很好用  回復  更多評論   

          # re: JavaMail郵件發送實用類[未登錄] 2010-08-24 17:18 randy

          thanks
          但是 不支持gmail 郵箱
          異常提示如下:
          530 5.7.0 Must issue a STARTTLS command first. 33sm14197634wad.18  回復  更多評論   

          # re: JavaMail郵件發送實用類 2013-06-21 01:18 負擔

          從不曾  回復  更多評論   

          # re: JavaMail郵件發送實用類 2013-06-21 01:18 負擔

          電話  回復  更多評論   

          sitinspring(http://www.aygfsteel.com)原創,轉載請注明出處.
          主站蜘蛛池模板: 长沙市| 江陵县| 隆化县| 南宁市| 搜索| 治县。| 宁晋县| 杂多县| 阳东县| 弋阳县| 缙云县| 乐业县| 西充县| 夏邑县| 加查县| 丰原市| 桦甸市| 德州市| 谷城县| 监利县| 万盛区| 靖远县| 石景山区| 深泽县| 道真| 隆昌县| 清远市| 海兴县| 富宁县| 临朐县| 奎屯市| 永定县| 博乐市| 泗阳县| 曲麻莱县| 虹口区| 昂仁县| 寻甸| 乌兰浩特市| 万年县| 蒙山县|