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
具體的實現封裝的代碼我將會放到資源中,有需要的話可以進行下載。