基于JavaMail的Java郵件發(fā)送
郵件綁定功能
【需求】
- 1、 用戶(hù)注冊(cè)時(shí),輸入郵箱
- 2、 通過(guò)Javamail技術(shù),向用戶(hù)郵箱發(fā)送一封祝賀郵件
1、javamail發(fā)送郵件
1.1、簡(jiǎn)介
什么是javamail?
1.2、工具類(lèi)
首先從哪個(gè)郵箱發(fā)出郵件,所以得發(fā)送郵件賬號(hào)支持 程序發(fā)送郵件
第一步:配置網(wǎng)易 開(kāi)啟客戶(hù)端授權(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è)置-->客戶(hù)端授權(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、客戶(hù)注冊(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)文章
Java中ArrayList在foreach里remove的問(wèn)題詳析
這篇文章主要給大家介紹了關(guān)于Java中ArrayList在foreach里remove問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧2018-09-09SpringBoot項(xiàng)目中使用Mockito的示例代碼
這篇文章主要介紹了SpringBoot項(xiàng)目中使用Mockito的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10Sa-Token記住我模式實(shí)現(xiàn)七天免登錄
這篇文章主要為大家介紹了Sa-Token記住我模式實(shí)現(xiàn)七天免登錄示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07SpringBoot使用Guava實(shí)現(xiàn)日志脫敏的示例代碼
本文主要介紹了SpringBoot使用Guava實(shí)現(xiàn)日志脫敏的示例代碼,使用Guava中的Strings、Maps和CharMatcher類(lèi)來(lái)進(jìn)行日志脫敏,保護(hù)敏感數(shù)據(jù)的安全,感興趣的可以了解一下2024-01-01SpringCloud組件OpenFeign之默認(rèn)HTTP請(qǐng)求方式詳解
這篇文章主要介紹了SpringCloud組件OpenFeign之默認(rèn)HTTP請(qǐng)求方式詳解,在SpringMvcContract類(lèi)中有個(gè)這樣的方法processAnnotationOnMethod,見(jiàn)名思意,這個(gè)方法就是處理Feign接口下方法上的注解的,需要的朋友可以參考下2024-01-01springboot結(jié)合websocket聊天室實(shí)現(xiàn)私聊+群聊
本文主要介紹了springboot結(jié)合websocket聊天室實(shí)現(xiàn)私聊+群聊,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07java開(kāi)發(fā)ServiceLoader實(shí)現(xiàn)機(jī)制及SPI應(yīng)用
這篇文章主要為大家介紹了java開(kāi)發(fā)ServiceLoader實(shí)現(xiàn)機(jī)制及SPI應(yīng)用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10詳解Spring Boot 2.0.2+Ajax解決跨域請(qǐng)求的問(wèn)題
這篇文章主要介紹了詳解Spring Boot 2.0.2+Ajax解決跨域請(qǐng)求的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03