springboot實(shí)現(xiàn)發(fā)送QQ郵箱
springboot發(fā)送電子郵箱,供大家參考,具體內(nèi)容如下
1.開啟qq郵箱開啟IMAP/SMTP服務(wù)*
首先進(jìn)入qq郵箱
點(diǎn)擊設(shè)置
點(diǎn)擊賬戶,然后往下拉
開啟IMAP/SMTP服務(wù)
開啟成功得到授權(quán)密碼,這個(gè)要記住,一會(huì)用
2.引入pom依賴
<!--發(fā)送郵箱--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> <version>2.2.5.RELEASE</version> </dependency>
3.配置application.properties
# QQ郵箱配置 spring.mail.host=smtp.qq.com #發(fā)件人QQ郵箱地址 spring.mail.username=發(fā)件人的qq郵箱 #QQ郵箱授權(quán)碼 spring.mail.password=得到的授權(quán)密碼 #以下三項(xiàng)不用改動(dòng) spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.starttls.required=true
4.創(chuàng)建發(fā)送電子郵箱controller
我這里收件人地址寫死了,當(dāng)然可以作為參數(shù),訪問這個(gè)方法的時(shí)候把參數(shù)加上就行了,效果都是一樣的
package com.wyh.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.mail.Address; import javax.mail.MessagingException; import java.util.ArrayList; @RestController public class EmailController { @Resource private JavaMailSender javaMailSender; //這一步是獲取application.properties中設(shè)置的發(fā)件人郵箱地址 @Value("${spring.mail.username}") private String username; /** /* @Author 魏一鶴 * @Description 發(fā)送郵箱 * @Date 0:09 2021/5/19 * @Param [] * @return void **/ @RequestMapping("/sendEmail") public String sendMail() { //String address //發(fā)郵件 SimpleMailMessage message = new SimpleMailMessage(); //發(fā)件人郵件地址(上面獲取到的,也可以直接填寫,string類型) message.setFrom(username); //要發(fā)送的qq郵箱(收件人地址) message.setTo("1581622479@qq.com");//address //郵件主題 message.setSubject("java調(diào)用QQ郵箱發(fā)送"); //郵件正文 message.setText("我是用java發(fā)送的QQ郵箱");//?。?! javaMailSender.send(message); return "發(fā)送成功!"; } }
5.查看效果
在我的qq郵箱就能看到我們發(fā)送的內(nèi)容了
然后換一種寫法,把收件人的地址作為參數(shù)
package com.wyh.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.mail.Address; import javax.mail.MessagingException; import java.util.ArrayList; @RestController public class EmailController { @Resource private JavaMailSender javaMailSender; //這一步是獲取application.properties中設(shè)置的發(fā)件人郵箱地址 @Value("${spring.mail.username}") private String username; /** /* @Author 魏一鶴 * @Description 發(fā)送郵箱 * @Date 0:09 2021/5/19 * @Param [] * @return void **/ @RequestMapping("/sendEmail") public String sendMail(String address) { //String address //發(fā)郵件 SimpleMailMessage message = new SimpleMailMessage(); //發(fā)件人郵件地址(上面獲取到的,也可以直接填寫,string類型) message.setFrom(username); //要發(fā)送的qq郵箱(收件人地址) message.setTo(address);//address //郵件主題 message.setSubject("java調(diào)用QQ郵箱發(fā)送"); //郵件正文 message.setText("我是用java發(fā)送的QQ郵箱");//?。?! javaMailSender.send(message); return "發(fā)送成功!"; } }
效果都是一樣的。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java多線程之定時(shí)器Timer的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Java多線程中定時(shí)器Timer類的使用以及模擬實(shí)現(xiàn),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10Idea安裝及涉及springboot詳細(xì)配置的圖文教程
這篇文章主要介紹了Idea安裝及涉及springboot詳細(xì)配置,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10mybatis通過中間表實(shí)現(xiàn)一對(duì)多查詢功能
這篇文章主要介紹了mybatis通過中間表實(shí)現(xiàn)一對(duì)多查詢,通過一個(gè)學(xué)生的id查詢出該學(xué)生所學(xué)的所有科目,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-08-08使用注解+RequestBodyAdvice實(shí)現(xiàn)http請(qǐng)求內(nèi)容加解密方式
這篇文章主要介紹了使用注解+RequestBodyAdvice實(shí)現(xiàn)http請(qǐng)求內(nèi)容加解密方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06Springboot視頻接口報(bào)大量的ClientAbortException找不到原因的解決
本文主要介紹了Springboot視頻接口報(bào)大量的ClientAbortException找不到原因的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08舉例解析Java的設(shè)計(jì)模式編程中里氏替換原則的意義
這篇文章主要介紹了Java的設(shè)計(jì)模式中里氏替換原則的意義,文中舉例來說明里氏替換原則中強(qiáng)調(diào)的繼承特性方面可能帶來的問題,需要的朋友可以參考下2016-02-02MyBatis-Plus結(jié)合Layui實(shí)現(xiàn)分頁方法
MyBatis-Plus 使用簡(jiǎn)單,本文主要介紹使用 service 中的 page 方法結(jié)合 Layui 前端框架實(shí)現(xiàn)分頁效果,具有一定的參考價(jià)值,感興趣的可以了解一下2021-08-08MyBatis-Plus?中?typeHandler?的使用實(shí)例詳解
本文介紹了在MyBatis-Plus中如何使用typeHandler處理json格式字段和自定義typeHandler,通過使用JacksonTypeHandler,可以簡(jiǎn)單實(shí)現(xiàn)將實(shí)體類字段轉(zhuǎn)換為json格式存儲(chǔ),感興趣的朋友跟隨小編一起看看吧2024-10-10