Java代碼實(shí)現(xiàn)發(fā)送QQ和網(wǎng)易電子郵件
實(shí)現(xiàn)代碼
Step1:引入依賴(lài)
創(chuàng)建一個(gè)Maven項(xiàng)目,引入下面兩個(gè)依賴(lài);
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.27</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
Step2:編碼
首先,寫(xiě)一個(gè)工具類(lèi),該工具類(lèi)有兩個(gè)方法,一個(gè)用來(lái)獲取郵件對(duì)象,一個(gè)用來(lái)發(fā)送郵件;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.mail.MailAccount;
import cn.hutool.extra.mail.MailUtil;
/**
* 郵件發(fā)送工具類(lèi)
*/
public final class EmailSenderUtil {
private EmailSenderUtil() {
}
/**
* 獲取郵箱客戶(hù)端
*
* @param smtpHost smtp服務(wù)器地址
* @param smtpPort smtp服務(wù)器端口
* @param emailUsername 郵箱用戶(hù)名
* @param emailPassword 郵箱授權(quán)碼
* @return
*/
public static MailAccount getMailClient(String smtpHost, int smtpPort, String emailUsername, String emailPassword) {
MailAccount account = new MailAccount();
account.setHost(smtpHost);
account.setPort(smtpPort);
account.setAuth(true);
account.setFrom(emailUsername);
account.setUser(emailUsername);
account.setPass(emailPassword);
return account;
}
/**
* 發(fā)送郵件
*
* @param account 郵箱客戶(hù)端
* @param to 接收人郵箱地址
* @param subject 郵件主題
* @param content 郵件內(nèi)容
* @param isHtml 是否是html格式
*/
public static void sendEmail(MailAccount account, String to, String subject, String content, boolean isHtml) {
if (StrUtil.isBlank(to)) {
throw new IllegalArgumentException("收件人郵箱地址不能為空");
}
if (StrUtil.isBlank(subject)) {
throw new IllegalArgumentException("郵件主題不能為空");
}
if (StrUtil.isBlank(content)) {
throw new IllegalArgumentException("郵件內(nèi)容不能為空");
}
try {
MailUtil.send(account, to, subject, content, isHtml);
System.out.println("郵件發(fā)送成功");
} catch (Exception e) {
e.printStackTrace();
System.out.println("郵件發(fā)送失敗");
}
}
}
Step3:獲取授權(quán)碼
發(fā)送人的郵箱賬戶(hù)需要開(kāi)通SMTP服務(wù),允許通過(guò)客戶(hù)端發(fā)送郵件,這里介紹QQ郵箱、網(wǎng)易郵箱開(kāi)通SMTP服務(wù)和獲取授權(quán)碼的步驟。
(QQ郵箱,SMTP_HOST是:smtp.qq.com,PORT用:465或587)

(網(wǎng)易郵箱,SMTP_HOST是:smtp.163.com,PORT用:25)

獲取授權(quán)碼的方式都差不多,用綁定的手機(jī)給郵件官方發(fā)短信,然后獲取授權(quán)碼
Step4:測(cè)試
寫(xiě)一個(gè)main方法,測(cè)試發(fā)送郵件
import cn.hutool.extra.mail.MailAccount;
public class EmailSentTest {
public static void main(String[] args) {
// 郵件接收人,多個(gè)接收人使用逗號(hào)或者分號(hào)隔開(kāi)
String to = "";
// 郵件主題
String subject = "測(cè)試郵件";
// 郵件內(nèi)容
String content = "這是一封測(cè)試郵件";
// 獲取郵箱客戶(hù)端
MailAccount account = EmailSendUtil.getMailClient("smtp.qq.com", 587,
"發(fā)送方qq賬號(hào)", "發(fā)送方授權(quán)碼");
// 發(fā)送郵件
EmailSendUtil.sendEmail(account, to, subject, content, false);
}
}
發(fā)送成功


總結(jié)
本文介紹了如何用Hutool工具包封裝的MailUtil發(fā)送郵件,及QQ郵箱、網(wǎng)易郵箱如何開(kāi)通SMTP服務(wù)和獲取授權(quán)碼。
到此這篇關(guān)于Java代碼實(shí)現(xiàn)發(fā)送QQ和網(wǎng)易電子郵件的文章就介紹到這了,更多相關(guān)Java發(fā)送郵件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java根據(jù)網(wǎng)絡(luò)地址保存圖片的方法
這篇文章主要為大家詳細(xì)介紹了java根據(jù)網(wǎng)絡(luò)地址保存圖片的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
java實(shí)現(xiàn)數(shù)字轉(zhuǎn)換人民幣中文大寫(xiě)工具
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)數(shù)字轉(zhuǎn)換人民幣中文大寫(xiě)工具,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
IntelliJ IDEA 常用設(shè)置(配置)吐血整理(首次安裝必需)
這篇文章主要介紹了IntelliJ IDEA 常用設(shè)置(配置)吐血整理(首次安裝必需),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
springBoot不同module之間互相依賴(lài)的實(shí)現(xiàn)
本文主要介紹了springBoot不同module之間互相依賴(lài)的實(shí)現(xiàn),不同模塊之間的依賴(lài)通常是通過(guò)Maven或Gradle來(lái)管理的,下面就來(lái)介紹一下如何實(shí)現(xiàn),感興趣的可以了解一下2024-08-08
MyBatisPlus?TypeHandler自定義字段類(lèi)型轉(zhuǎn)換Handler
這篇文章主要為大家介紹了MyBatisPlus?TypeHandler自定義字段類(lèi)型轉(zhuǎn)換Handler示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
SpringBoot中熱點(diǎn)KEY緩存優(yōu)化的2種主流策略
所謂熱點(diǎn)KEY,是指在緩存或數(shù)據(jù)庫(kù)中被頻繁訪(fǎng)問(wèn)的少量鍵值,這些鍵往往承載了系統(tǒng)中大部分的訪(fǎng)問(wèn)流量,本文將分享SpringBoot中三種主流的熱點(diǎn)KEY緩存優(yōu)化策略,大家可以根據(jù)需求進(jìn)行選擇2025-04-04
RabbitMQ核心函數(shù)的參數(shù)意義和使用場(chǎng)景分析
這篇文章主要介紹了RabbitMQ核心函數(shù)的參數(shù)意義和使用場(chǎng)景分析,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2025-06-06

