看樣子西安的天氣是很難變好了,持續的中度汙染讓人窒息。不廢話了,今天早上寫了個java發送郵件服務類,直接看源碼:
package dec;import java.util.Properties;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.AddressException;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;/** * * * <p>Title: Java發送郵件測試類別 /p> * * <p>Description: 樣本 業務類</p> * * <p>Copyright: Copyright (c) 2012</p> * * * @author dml@2012-12-17 * @version 1.0 *//**************************************************************** * 對QQ郵箱使用(對於其他的使用類似的你應該也會更改了) 首先把QQ郵箱的POP3 SMTP開啟 首先確定你的網路正常、非代理 * 【確定你的QQ郵箱開啟了SMTP】!!!! 如果沒有開啟,那麼這樣設定下 設定->賬戶 --在下面-- 把這個選上 [√]SMTP發信後儲存到伺服器 ****************************************************************/public class JavaMail {// 設定伺服器private static String KEY_SMTP = "mail.smtp.host";private static String VALUE_SMTP = "smtp.qq.com";// 伺服器驗證private static String KEY_PROPS = "mail.smtp.auth";private static boolean VALUE_PROPS = true;// 寄件者使用者名稱、密碼private String SEND_USER = "********@qq.com";private String SEND_UNAME = "********";private String SEND_PWD = "*******";// 建立會話private MimeMessage message;private Session s;/* * 初始化方法 */public JavaMail() {Properties props = System.getProperties();props.setProperty(KEY_SMTP, VALUE_SMTP);props.put(KEY_PROPS, VALUE_PROPS);s = Session.getInstance(props);/* s.setDebug(true);開啟後有調試資訊 */message = new MimeMessage(s);}/** * 發送郵件 * * @param headName * 郵件標頭檔案名稱 * @param sendHtml * 郵件內容 * @param receiveUser * 收件者地址 */public void doSendHtmlEmail(String headName, String sendHtml,String receiveUser) {try {// 寄件者InternetAddress from = new InternetAddress(SEND_USER);message.setFrom(from);// 收件者InternetAddress to = new InternetAddress(receiveUser);message.setRecipient(Message.RecipientType.TO, to);// 郵件標題message.setSubject(headName);String content = sendHtml.toString();// 郵件內容,也可以使純文字"text/plain"message.setContent(content, "text/html;charset=GBK");message.saveChanges();Transport transport = s.getTransport("smtp");// smtp驗證,就是你用來發郵件的信箱使用者名密碼transport.connect(VALUE_SMTP, SEND_UNAME, SEND_PWD);// 發送transport.sendMessage(message, message.getAllRecipients());transport.close();System.out.println("send success!");} catch (AddressException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (MessagingException e) {e.printStackTrace();}}public static void main(String[] args) {JavaMail se = new JavaMail();se.doSendHtmlEmail("郵件標頭檔案名稱", "郵件內容", "*******@***.com");}}
所需jar包只有一個,mail.jar
需要注意的是,執行程式前需要保證郵箱開啟了SMTP,本例使用QQ郵箱進行測試,設定路徑
QQ Mail Settings->Account->POP3/IMAP/SMTP Service 選中Enable POP3/SMTP servicesp.s.古語有云:“臨淵羨魚不如退而結網”,如果你還是個菜鳥,又希望享受大牛們的生活,安心學習吧,努力些,沒有什麼是應得的,任何人所佔有的資源都是爭取到的。dml@2012.12.17