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

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

選中POP3/SMTP服務(wù)和IMAP/SMTP服務(wù),點(diǎn)擊開(kāi)啟,如果已開(kāi)啟,會(huì)顯示關(guān)閉

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

第二步:在mail-demo01項(xiàng)目中,配置pom.xml 添加javamail的坐標(biāo)。

<!-- 導(dǎo)入javamail的坐標(biāo) -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
第三步:根據(jù)需要,編輯發(fā)送郵件正文
步驟:
- 1 設(shè)置郵件發(fā)送的屬性
- 2 設(shè)置主機(jī)地址
- 3 設(shè)置是否打開(kāi)驗(yàn)證
- 4 創(chuàng)建鏈接
- 5 創(chuàng)建郵件
- 6 設(shè)置發(fā)送者
- 7 設(shè)置接受者
- 8 設(shè)置標(biāo)題
- 9 設(shè)置正文
- 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)碼(登錄郵箱-->設(shè)置-->郵箱安全設(shè)置-->客戶端授權(quán)密碼),這里不是郵箱的密碼,切記!
public static String from = "222@163.com"; // 來(lái)源郵箱,使用當(dāng)前賬號(hào)
public static void sendMail(String to, String subject, String text) throws Exception {
// 1 準(zhǔn)備發(fā)送郵件需要的參數(shù)
Properties props = new Properties();
// 設(shè)置主機(jī)地址 smtp.qq.com smtp.126.com smtp.163.com
props.put("mail.smtp.host", smtp_host);
// 是否打開(kāi)驗(yàn)證:只能設(shè)置true,必須打開(kāi)
props.put("mail.smtp.auth", true);
// 2 連接郵件服務(wù)器
Session session = Session.getDefaultInstance(props);
// 3 創(chuàng)建郵件信息
MimeMessage message = new MimeMessage(session);
// 4 設(shè)置發(fā)送者
InternetAddress fromAddress = new InternetAddress(from);
message.setFrom(fromAddress);
// 5 設(shè)置接收者
InternetAddress toAddress = new InternetAddress(to);
// to:直接接收者 cc:抄送 bcc暗送
message.setRecipient(RecipientType.TO, toAddress);
// 6 設(shè)置主題
message.setSubject(subject);
// 7 設(shè)置正文
message.setText(text);
// 設(shè)置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", "激活測(cè)試", "test");
} catch (Exception e) {
e.printStackTrace();
}
}
}
1.3、工具類(lèi)測(cè)試
使用main方法進(jìn)行測(cè)試。
public static void main(String[] args) {
try {
MailUtil.sendMail("333@qq.com", "激活測(cè)試", "test");
} catch (Exception e) {
e.printStackTrace();
}
}
2、客戶注冊(cè)時(shí),發(fā)送祝賀郵件

到此這篇關(guān)于基于JavaMail的Java郵件發(fā)送的文章就介紹到這了,更多相關(guān)Java Mail內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JavaMail實(shí)現(xiàn)郵件發(fā)送機(jī)制
- JavaMail整合Spring實(shí)現(xiàn)郵件發(fā)送功能
- JavaMail實(shí)現(xiàn)簡(jiǎn)單郵件發(fā)送
- 基于JavaMail實(shí)現(xiàn)簡(jiǎn)單郵件發(fā)送
- JavaMail郵件發(fā)送機(jī)制詳解
- 基于JavaMail實(shí)現(xiàn)郵件發(fā)送
- 基于JavaMail的Java實(shí)現(xiàn)復(fù)雜郵件發(fā)送功能
- 基于JavaMail的Java實(shí)現(xiàn)簡(jiǎn)單郵件發(fā)送功能
- JavaMail實(shí)現(xiàn)郵件發(fā)送的方法
- JavaMail實(shí)現(xiàn)帶附件的郵件發(fā)送
相關(guān)文章
Springboot集成kafka高級(jí)應(yīng)用實(shí)戰(zhàn)分享
這篇文章主要介紹了Springboot集成kafka高級(jí)應(yīng)用實(shí)戰(zhàn)分享,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08
詳解Java如何實(shí)現(xiàn)FP-Growth算法
學(xué)校里的實(shí)驗(yàn),要求實(shí)現(xiàn)FP-Growth算法.FP-Growth算法比Apriori算法快很多(但是卻比不上時(shí)間)在網(wǎng)上搜索后發(fā)現(xiàn)Java實(shí)現(xiàn)的FP-Growth算法很少,且大多數(shù)不太能理解):太菜.所以就自己實(shí)現(xiàn)了一下.這篇文章重點(diǎn)介紹一下我的Java實(shí)現(xiàn) ,需要的朋友可以參考下2021-06-06
mybatis源碼解讀之executor包語(yǔ)句處理功能
這篇文章主要介紹了executor包語(yǔ)句處理功能,mybatis中支持三種語(yǔ)句類(lèi)型,不同語(yǔ)句類(lèi)型支持的變量符號(hào)不同,下文詳細(xì)內(nèi)容,需要的小伙伴可以參考一下2022-02-02
一篇文章教你使用SpringBoot如何實(shí)現(xiàn)定時(shí)任務(wù)
這篇文章主要給大家介紹了關(guān)于如何利用一篇文章教你使用SpringBoot實(shí)現(xiàn)定時(shí)任務(wù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
Java String字符串和Unicode字符相互轉(zhuǎn)換代碼
這篇文章主要介紹了Java String字符串和Unicode字符相互轉(zhuǎn)換代碼,需要的朋友可以參考下2014-10-10
Java修飾符abstract與static及final的精華總結(jié)
abstract、static、final三個(gè)修飾符是經(jīng)常會(huì)使用的,對(duì)他們的概念必須非常清楚,弄混了會(huì)產(chǎn)生些完全可以避免的錯(cuò)誤,比如final和abstract不能一同出現(xiàn),static和abstract不能一同出現(xiàn),下面我們來(lái)詳細(xì)了解2022-04-04
SpringCloud+RocketMQ實(shí)現(xiàn)分布式事務(wù)的實(shí)踐
分布式事務(wù)已經(jīng)成為了我們的經(jīng)常使用的。所以我們來(lái)一步一步的實(shí)現(xiàn)基于RocketMQ的分布式事務(wù)。感興趣的可以了解一下2021-10-10
SpringMVC自定義攔截器實(shí)現(xiàn)過(guò)程詳解
這篇文章主要介紹了SpringMVC自定義攔截器實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05

