基于JavaMail的Java郵件發(fā)送
郵件綁定功能
【需求】
- 1、 用戶注冊時,輸入郵箱
- 2、 通過Javamail技術(shù),向用戶郵箱發(fā)送一封祝賀郵件
1、javamail發(fā)送郵件
1.1、簡介
什么是javamail?

1.2、工具類
首先從哪個郵箱發(fā)出郵件,所以得發(fā)送郵件賬號支持 程序發(fā)送郵件
第一步:配置網(wǎng)易 開啟客戶端授權(quán)碼
(1)授權(quán)碼申請:

選中POP3/SMTP服務和IMAP/SMTP服務,點擊開啟,如果已開啟,會顯示關(guān)閉

授權(quán)碼就是JAVA代碼登錄郵箱的密碼:MQKFLKEKMUHOKVPS

第二步:在mail-demo01項目中,配置pom.xml 添加javamail的坐標。

<!-- 導入javamail的坐標 -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
第三步:根據(jù)需要,編輯發(fā)送郵件正文
步驟:
- 1 設置郵件發(fā)送的屬性
- 2 設置主機地址
- 3 設置是否打開驗證
- 4 創(chuàng)建鏈接
- 5 創(chuàng)建郵件
- 6 設置發(fā)送者
- 7 設置接受者
- 8 設置標題
- 9 設置正文
- 10 坐火箭
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
import java.util.Properties;
public class MailUtil {
public static String smtp_host = "smtp.163.com"; // 網(wǎng)易
public static String username = "222@163.com"; // 郵箱
public static String password = "q7w8e9a4s5d6"; // 授權(quán)碼(登錄郵箱-->設置-->郵箱安全設置-->客戶端授權(quán)密碼),這里不是郵箱的密碼,切記!
public static String from = "222@163.com"; // 來源郵箱,使用當前賬號
public static void sendMail(String to, String subject, String text) throws Exception {
// 1 準備發(fā)送郵件需要的參數(shù)
Properties props = new Properties();
// 設置主機地址 smtp.qq.com smtp.126.com smtp.163.com
props.put("mail.smtp.host", smtp_host);
// 是否打開驗證:只能設置true,必須打開
props.put("mail.smtp.auth", true);
// 2 連接郵件服務器
Session session = Session.getDefaultInstance(props);
// 3 創(chuàng)建郵件信息
MimeMessage message = new MimeMessage(session);
// 4 設置發(fā)送者
InternetAddress fromAddress = new InternetAddress(from);
message.setFrom(fromAddress);
// 5 設置接收者
InternetAddress toAddress = new InternetAddress(to);
// to:直接接收者 cc:抄送 bcc暗送
message.setRecipient(RecipientType.TO, toAddress);
// 6 設置主題
message.setSubject(subject);
// 7 設置正文
message.setText(text);
// 設置HTML方式發(fā)送
//message.setContent(text, "text/html;charset=utf-8");
// 8 發(fā)送:坐火箭
Transport transport = session.getTransport("smtp");// 參數(shù)不能少,表示的是發(fā)送協(xié)議
// 登錄郵箱,此處的密碼是授權(quán)碼
transport.connect(username, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
System.out.println("ok");
}
public static void main(String[] args) {
try {
MailUtil.sendMail("333@qq.com", "激活測試", "test");
} catch (Exception e) {
e.printStackTrace();
}
}
}
1.3、工具類測試
使用main方法進行測試。
public static void main(String[] args) {
try {
MailUtil.sendMail("333@qq.com", "激活測試", "test");
} catch (Exception e) {
e.printStackTrace();
}
}
2、客戶注冊時,發(fā)送祝賀郵件

到此這篇關(guān)于基于JavaMail的Java郵件發(fā)送的文章就介紹到這了,更多相關(guān)Java Mail內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中ArrayList在foreach里remove的問題詳析
這篇文章主要給大家介紹了關(guān)于Java中ArrayList在foreach里remove問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧2018-09-09
SpringBoot使用Guava實現(xiàn)日志脫敏的示例代碼
本文主要介紹了SpringBoot使用Guava實現(xiàn)日志脫敏的示例代碼,使用Guava中的Strings、Maps和CharMatcher類來進行日志脫敏,保護敏感數(shù)據(jù)的安全,感興趣的可以了解一下2024-01-01
SpringCloud組件OpenFeign之默認HTTP請求方式詳解
這篇文章主要介紹了SpringCloud組件OpenFeign之默認HTTP請求方式詳解,在SpringMvcContract類中有個這樣的方法processAnnotationOnMethod,見名思意,這個方法就是處理Feign接口下方法上的注解的,需要的朋友可以參考下2024-01-01
springboot結(jié)合websocket聊天室實現(xiàn)私聊+群聊
本文主要介紹了springboot結(jié)合websocket聊天室實現(xiàn)私聊+群聊,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07
java開發(fā)ServiceLoader實現(xiàn)機制及SPI應用
這篇文章主要為大家介紹了java開發(fā)ServiceLoader實現(xiàn)機制及SPI應用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10
詳解Spring Boot 2.0.2+Ajax解決跨域請求的問題
這篇文章主要介紹了詳解Spring Boot 2.0.2+Ajax解決跨域請求的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-03-03

