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();
}
}
}