qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Java Mail最基本的發送郵件例子

           首先需要導入jar包,mail-1.4.2.jar,然后給出最簡單的java mail發送郵件的代碼,SimpleSendMailDemo.java
            SimpleSendMailDemo.java
          package com.steven.mail;
          import java.util.Properties;
          import javax.mail.Address;
          import javax.mail.Authenticator;
          import javax.mail.Message;
          import javax.mail.PasswordAuthentication;
          import javax.mail.Session;
          import javax.mail.Transport;
          import javax.mail.internet.InternetAddress;
          import javax.mail.internet.MimeMessage;
          /**
          * 最基本的郵件發送代碼
          *
          * @author Steven
          *
          */
          public class SimpleSendMailDemo {
          public static void main(String[] args) throws Exception {
          // 創建郵件的發送過程中用到的主機和端口號的屬性文件
          Properties pro = new Properties();
          // 設置郵件發送方的主機地址如果是163郵箱,則為smtp.163.com
          // 如果是其他的郵箱可以參照http://wenku.baidu.com/link?url=Cf-1ggeW3e7Rm9KWfz47UL7vvkRpPxAKBlYoTSGpnK4hxpJDiQ0A4lRoPDncMlcMIvUpEn6PD0aObgm5zJaM7AOGkRdccSx6HDH2fSWkxIq這個文檔
          pro.put("mail.smtp.host", "smtp.qq.com");
          // 設置發送郵件端口號
          pro.put("mail.smtp.port", "25");
          // 設置郵件發送需要認證
          pro.put("mail.smtp.auth", "true");
          // 創建郵件驗證信息,即發送郵件的用戶名和密碼
          Authenticator authenticator = new Authenticator() {
          @Override
          protected PasswordAuthentication getPasswordAuthentication() {
          // 重寫驗證方法,填寫用戶名,密碼
          return new PasswordAuthentication("songdeitao@qq.com", "123");
          }
          };
          // 根據郵件會話 構建一個郵件的session
          Session sendMailSession = Session
          .getDefaultInstance(pro, authenticator);
          // 創建一個郵件消息
          Message message = new MimeMessage(sendMailSession);
          // 創建郵件發送者地址
          Address sourceAddress = new InternetAddress("songdeitao@qq.com");
          // 將原地址設置到消息的信息中
          message.setFrom(sourceAddress);
          // 創建郵件的接收者地址
          Address destAddress = new InternetAddress("songdeitao@163.com");
          // 將接收者的地址設置到消息的信息中
          message.setRecipient(Message.RecipientType.TO, destAddress);
          // 設置郵件的主題
          message.setSubject("Merry Christmas!");
          // 設置郵件的發送內容
          message.setText("你好,圣誕節快樂!");
          // 可以設置郵件的發送時間(就是對方看郵件發送的時間)
          // String sendDate = "2013-12-23 17:55:00";
          // Date date = new
          // SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(sendDate);
          // message.setSentDate(date);
          // 發送郵件
          Transport.send(message);
          }
          }

          這個例子是完全沒有封裝后的源代碼,如果進行封裝的話,可以考慮將發送的郵箱信息封裝成一個郵件信息的類,然后驗證可以通過一個類繼承Authenticator然后復寫方法getPasswordAuthentication(),接著發送的主要業務邏輯可以封裝成一個類,這樣在使用的時候,就可以通過創建郵件信息,進行驗證,通過主要的業務邏輯調用發送郵件。
            然后發送的最終效果如下圖1所示:
            
          圖1
            具體的實現封裝的代碼我將會放到資源中,有需要的話可以進行下載。


          posted on 2013-12-26 11:01 順其自然EVO 閱讀(277) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2013年12月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 临海市| 双城市| 濮阳市| 新巴尔虎右旗| 大厂| 临湘市| 年辖:市辖区| 玉树县| 哈巴河县| 龙州县| 平阴县| 高邑县| 偃师市| 措勤县| 平乡县| 舟山市| 吕梁市| 池州市| 乌拉特后旗| 新河县| 天全县| 呈贡县| 雅安市| 温州市| 钟山县| 东海县| 公主岭市| 朝阳市| 昭苏县| 茶陵县| 全椒县| 沾化县| 望奎县| 元朗区| 博湖县| 芦溪县| 平武县| 沙河市| 永春县| 广安市| 朝阳区|