Java代碼實現(xiàn)發(fā)送QQ和網(wǎng)易電子郵件
實現(xiàn)代碼
Step1:引入依賴
創(chuàng)建一個Maven項目,引入下面兩個依賴;
<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:編碼
首先,寫一個工具類,該工具類有兩個方法,一個用來獲取郵件對象,一個用來發(fā)送郵件;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.mail.MailAccount;
import cn.hutool.extra.mail.MailUtil;
/**
* 郵件發(fā)送工具類
*/
public final class EmailSenderUtil {
private EmailSenderUtil() {
}
/**
* 獲取郵箱客戶端
*
* @param smtpHost smtp服務(wù)器地址
* @param smtpPort smtp服務(wù)器端口
* @param emailUsername 郵箱用戶名
* @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 郵箱客戶端
* @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ā)送人的郵箱賬戶需要開通SMTP服務(wù),允許通過客戶端發(fā)送郵件,這里介紹QQ郵箱、網(wǎng)易郵箱開通SMTP服務(wù)和獲取授權(quán)碼的步驟。
(QQ郵箱,SMTP_HOST是:smtp.qq.com,PORT用:465或587)

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

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


總結(jié)
本文介紹了如何用Hutool工具包封裝的MailUtil發(fā)送郵件,及QQ郵箱、網(wǎng)易郵箱如何開通SMTP服務(wù)和獲取授權(quán)碼。
到此這篇關(guān)于Java代碼實現(xiàn)發(fā)送QQ和網(wǎng)易電子郵件的文章就介紹到這了,更多相關(guān)Java發(fā)送郵件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mybatis之@ResultMap,@Results,@Result注解的使用
這篇文章主要介紹了Mybatis之@ResultMap,@Results,@Result注解的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12

