javascript
exchange无法收发邮件_SpringBoot2.x系列教程69--SpringBoot中整合邮件发送
SpringBoot2.x系列教程69--SpringBoot中整合郵件發送
作者:一一哥
注:
本文案例以QQ郵箱發送的實現為例!
一. 郵件發送概述
1. 概述
在Spring框架中提供了一個JavaMailSender接口,可以實現發送郵件功能。
而在Spring Boot中提供了一個對應的spring-boot-starter-mail依賴,添加該依賴后,Spring Boot將創建一個默認的JavaMailSender,該sender可以通過spring.mail命名空間下的配置項進一步自定義。
2. 發送郵件的場景
- 用戶通過郵件注冊激活;
- 通過郵件找回密碼;
- 通過郵件發送系統情況;
- 通過郵件發送報表信息等。
3. 常用郵箱系統提供商
126郵箱SMTP服務器地址:smtp.126.com,端口號:465或者994163郵箱SMTP服務器地址:smtp.163.com,端口號:465或者994qq郵箱SMTP服務器地址:smtp.qq.com,端口號:465或587yeah郵箱SMTP服務器地址:smtp.yeah.net,端口號:465或者9944. QQ郵箱開啟SMTP功能
為了保障用戶郵箱的安全,QQ郵箱設置了POP3/SMTP/IMAP的開關。系統默認情況下相關設置是“關閉”狀態的,在用戶需要這些功能時請先“開啟”,才可以用客戶端軟件收發郵件。QQ郵箱開啟SMTP功能步驟
默認情況下,SMTP服務器功能沒有開啟,所以需要在“設置”-->"賬號"-->"POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務"中對SMTP進行開啟。
可以看到默認情況下并沒有開啟SMTP服務。
點擊開啟按鈕就可以了,但是前提條件是你QQ郵箱綁定了手機號碼,因為開啟時需要發送短信驗證碼。
開啟成功后,會有一個授權碼,這個授權碼就是我們進行郵件發送時的郵箱密碼,可以把它記住,不記也可以。因為這個授權碼可以多次生成,只要用的時候發一次短信驗證碼,就可以得到一個新的授權碼了。
關于126或者163郵箱授權碼的獲取過程,與QQ類似,不一一列舉。
二. Spring Boot整合郵件發送實現步驟
1. 創建web項目
我們按照之前的經驗,創建一個web程序,并將之改造成Spring Boot項目,具體過程略。
2. 添加依賴包
<dependency>3. 創建application.yml配置文件
springQQ郵箱配置
## QQ郵箱配置網易(126/163/yeah)郵箱配置
spring4. 定義發送郵件的服務類
定義郵件發送接口IMailService
package定義郵件發送實現類IMailServiceImpl
package5. 定義實體類
package6. 創建入口類
package7. 創建Controller接口
7.1 定義發送簡單郵件的接口方法:
@GetMapping啟動程序進行測試
郵件發送成功:
去目標郵箱的收件箱中進行查看,可以看到如下郵件內容,說明郵件發送成功!
7.2定義發送html格式郵件的接口方法:
@GetMapping郵件發送成功:
去目標郵箱的收件箱中進行查看,可以看到如下郵件內容,說明郵件發送成功!
7.3創建發送帶附件的郵件接口方法:
@GetMapping注意:
我這里是把附件直接放到了項目的resource/static目錄下了,我們也可以存放到桌面等位置。
郵件發送成功:
然后去目標郵箱的收件箱中進行查看,可以看到如下郵件內容,說明郵件發送成功!

7.4創建發送模板郵件的接口方法:
首先利用FreeMarker創建頁面模板。
<別忘了在application.yml文件中對freemarker進行配置:
spring創建接口方法
@PostMapping在postman中進行接口測試
然后去目標郵箱的收件箱中進行查看,可以看到如下郵件內容,說明郵件發送成功!
8. Controller完整代碼
package9. 完整項目結構

總結
以上是生活随笔為你收集整理的exchange无法收发邮件_SpringBoot2.x系列教程69--SpringBoot中整合邮件发送的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css 透明_css属性transpar
- 下一篇: c语言回调函数_C语言学习第26篇---