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...... 如果不能點擊,請復制直接激活 如果不是本人,請刪除郵件