https://blog.csdn.net/xiaohai1232/article/details/61220848
pom文件添加依賴
<!-- https://mvnrepository.com/artifact/javax.mail/javax.mail-api -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.3</version>
</dependency>
編寫測試類
package com.framework.asserts;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
public class SendMailUtil {
public static void main(String[] args) throws Exception, MessagingException {
//0.1 確定連接位置
Properties props = new Properties();
//獲取163郵箱smtp服務器的地址,
props.setProperty("mail.host", "smtp.163.com");
//是否進行權限驗證。
props.setProperty("mail.smtp.auth", "true");
//0.2確定權限(賬號和密碼)
Authenticator authenticator = new Authenticator() {
@Override
public PasswordAuthentication getPasswordAuthentication() {
//填寫自己的163郵箱的登錄帳號和授權密碼,授權密碼的獲取,在后面會進行講解。
return new PasswordAuthentication("xxx_test@163.com","xxxxx");
}
};
//1 獲得連接
/**
* props:包含配置信息的對象,Properties類型
* 配置郵箱服務器地址、配置是否進行權限驗證(帳號密碼驗證)等
*
* authenticator:確定權限(帳號和密碼)
*
* 所以就要在上面構建這兩個對象。
*/
Session session = Session.getDefaultInstance(props, authenticator);
//2 創建消息
Message message = new MimeMessage(session);
// 2.1 發件人 xxx@163.com 我們自己的郵箱地址,就是名稱
message.setFrom(new InternetAddress("xxx_test@163.com"));
/**
* 2.2 收件人
* 第一個參數:
* RecipientType.TO 代表收件人
* RecipientType.CC 抄送
* RecipientType.BCC 暗送
* 比如A要給B發郵件,但是A覺得有必要給要讓C也看看其內容,就在給B發郵件時,
* 將郵件內容抄送給C,那么C也能看到其內容了,但是B也能知道A給C抄送過該封郵件
* 而如果是暗送(密送)給C的話,那么B就不知道A給C發送過該封郵件。
* 第二個參數
* 收件人的地址,或者是一個Address[],用來裝抄送或者暗送人的名單。或者用來群發。可以是相同郵箱服務器的,也可以是不同的
* 這里我們發送給我們的qq郵箱
*/
message.setRecipient(RecipientType.TO, new InternetAddress("xxx_test@163.com"));
// 2.3 主題(標題)
message.setSubject("郵件的標題");
// 2.4 正文
String str = "李四: <br/>" +
"您好,您在本論壇注冊用戶,點擊下面url進行激活<br/>" +
"http://ww......<br/>" +
"如果不能點擊,請復制直接激活<br/>" +
"如果不是本人,請刪除郵件";
//設置編碼,防止發送的內容中文亂碼。
message.setContent(str, "text/html;charset=UTF-8");
//3發送消息
Transport.send(message);
}
}
李四: 您好,您在本論壇注冊用戶,點擊下面url進行激活 http://ww...... 如果不能點擊,請復制直接激活 如果不是本人,請刪除郵件
