使用JavaMail發送郵件的小例子

Java郵件發送的簡單實現步驟如下:

1、構建一個集成自javax.mail.Authentication的具體類,用作登錄驗證,以確保對該郵箱有發送郵件的權利。

2、構建一個Properties文件,存放SMTP服務器地址等參數。

3、通過Properties和Authenticator構建一個javax.mail.Session對象,相當於登錄郵箱。

4、構建郵件內容,使用javax.mail.internet.MimeMessage對象,指定發送人,收件人,主題,內容等。

5、使用javax.mail.Transport工具類發送郵件。


具體代碼如下:

package com.tuan.test;

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Message.RecipientType;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class JavaMailDemo {
	public static void main(String[] args) {
		Properties props = new Properties();
		//是否需要驗證
		props.setProperty("mail.smtp.auth", "true");
		//發送郵件服務器
		props.setProperty("mail.smtp.host", "smtp.126.com");
		
		//使用匿名內部類,用郵箱進行驗證
		Session session = Session.getInstance(props, new Authenticator(){

			@Override
			protected PasswordAuthentication getPasswordAuthentication() {
				//通過用戶名和密碼進行驗證
				return new PasswordAuthentication("[email protected]", "password");
			}
			
		});
		Message message = new MimeMessage(session);
		try {
			//設置郵件發送方
			message.setFrom(new InternetAddress("[email protected]"));
			//設置郵件標題
			message.setSubject("測試");
			//設置郵件內容
			message.setContent("測試","text/html;charset=utf-8");
			//設置郵件接收方
			message.addRecipient(RecipientType.TO, new InternetAddress("[email protected]"));
			
			//發送郵件
			Transport.send(message);
			
		} catch (AddressException e) {
			e.printStackTrace();
		} catch (MessagingException e) {
			e.printStackTrace();
		}
		
	}
}


發佈了50 篇原創文章 · 獲贊 31 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章