Spring Boot實(shí)現(xiàn)發(fā)送郵件
發(fā)送郵件
在web開(kāi)發(fā)中,發(fā)送郵件是一個(gè)很常用的功能,Spring Boot也集成了發(fā)送郵件的功能
基本使用
使用Spring Boot的發(fā)送郵件功能,需要導(dǎo)入郵件的starter依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
配置郵件發(fā)送服務(wù)器的配置,如果是qq郵箱,password屬性為郵箱的授權(quán)碼
spring:
mail:
host: smtp.qq.com
username: 425017255@qq.com
password: xxxxxxxx
properties:
mail.smtp.ssl.enable: true
創(chuàng)建一個(gè)簡(jiǎn)單郵件對(duì)象SimpleMailMessage,設(shè)置郵件的主題,內(nèi)容,發(fā)件人和收件人,然后自動(dòng)注入JavaMailSenderImpl對(duì)象,使用這個(gè)對(duì)象的send方法發(fā)送郵件
@SpringBootTest
class DemoApplicationTests {
@Autowired
JavaMailSenderImpl mailSender;
@Test
void contextLoads() {
SimpleMailMessage message = new SimpleMailMessage();
message.setSubject("測(cè)試郵件");
message.setText("這是一封測(cè)試郵件");
message.setTo("blackball1998@outlook.com");
message.setFrom("425017255@qq.com");
mailSender.send(message);
}
}
這樣就可以發(fā)送簡(jiǎn)單郵件了

發(fā)送復(fù)雜郵件
發(fā)送復(fù)雜郵件,可以使用發(fā)送類的createMimeMessage方法創(chuàng)建一個(gè)復(fù)雜郵件對(duì)象MimeMessage,這個(gè)方法還有一個(gè)重載方法,可以讀取IO流創(chuàng)建郵件對(duì)象
創(chuàng)建一個(gè)用于設(shè)置郵件的對(duì)象MimeMessageHelper,這個(gè)對(duì)象可以設(shè)置多種郵件的常用屬性,這里以設(shè)置附件為例
@SpringBootTest
class DemoApplicationTests {
@Autowired
JavaMailSenderImpl mailSender;
@Test
void contextLoads() throws MessagingException {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "utf-8");
messageHelper.setSubject("測(cè)試復(fù)雜郵件");
// 設(shè)置帶樣式的正文,使用html的方式設(shè)置樣式
messageHelper.setText("<h1>這是一封測(cè)試郵件</h1><p style='color:red'>請(qǐng)查收附件</p>",true);
// 讀取本地的一個(gè)文件,設(shè)置郵件的附件
messageHelper.addAttachment("附件1.jpg",new File("1.png"));
messageHelper.addAttachment("附件2.jpg",new File("2.png"));
messageHelper.setTo("blackball1998@outlook.com");
messageHelper.setFrom("425017255@qq.com");
mailSender.send(message);
}
}
設(shè)置好郵件的屬性,然后用發(fā)送類發(fā)送郵件,就可以收到復(fù)雜郵件

郵件中的附件也可以打開(kāi)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- SpringBoot整合JavaMail通過(guò)阿里云企業(yè)郵箱發(fā)送郵件的實(shí)現(xiàn)
- springboot實(shí)現(xiàn)發(fā)送郵件(QQ郵箱為例)
- 基于SpringBoot實(shí)現(xiàn)定時(shí)發(fā)送郵件過(guò)程解析
- SpringBoot發(fā)送郵件功能 驗(yàn)證碼5分鐘過(guò)期
- SpringBoot實(shí)現(xiàn)發(fā)送郵件功能
- SpringBoot使用FreeMarker模板發(fā)送郵件
- SpringBoot JavaMailSender發(fā)送郵件功能
- Spring Boot發(fā)送郵件詳解
- Spring Boot 發(fā)送郵件功能案例分析
- Spring Boot中利用JavaMailSender發(fā)送郵件的方法示例(附源碼)
相關(guān)文章
Java日期時(shí)間及日期相互轉(zhuǎn)換實(shí)現(xiàn)代碼
這篇文章主要介紹了Java日期時(shí)間及日期相互轉(zhuǎn)換實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
SpringCloud 服務(wù)網(wǎng)關(guān)路由規(guī)則的坑及解決
這篇文章主要介紹了SpringCloud 服務(wù)網(wǎng)關(guān)路由規(guī)則的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
IDEA創(chuàng)建springboot + mybatis項(xiàng)目全過(guò)程(步驟詳解)
這篇文章主要介紹了IDEA創(chuàng)建springboot + mybatis項(xiàng)目全過(guò)程及步驟詳解,本文通圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
使用Java代碼獲取服務(wù)器性能信息及局域網(wǎng)內(nèi)主機(jī)名
這篇文章主要介紹了使用Java代碼獲取服務(wù)器性能信息及局域網(wǎng)內(nèi)主機(jī)名的方法,方便對(duì)服務(wù)器的遠(yuǎn)程管理和團(tuán)隊(duì)協(xié)作時(shí)用到,而且文中的方法無(wú)需調(diào)用jni,需要的朋友可以參考下2015-11-11
使用BigDecimal去掉小數(shù)點(diǎn)后無(wú)用的0
這篇文章主要介紹了使用BigDecimal去掉小數(shù)點(diǎn)后無(wú)用的0操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
@Scheduled定時(shí)器使用注意事項(xiàng)及說(shuō)明
這篇文章主要介紹了@Scheduled定時(shí)器使用注意事項(xiàng)及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
實(shí)體類使用@Builder,導(dǎo)致@ConfigurationProperties注入屬性失敗問(wèn)題
這篇文章主要介紹了實(shí)體類使用@Builder,導(dǎo)致@ConfigurationProperties注入屬性失敗問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
java線程池ThreadPoolExecutor的八種拒絕策略示例詳解
ThreadPoolExecutor是一個(gè)典型的緩存池化設(shè)計(jì)的產(chǎn)物,因?yàn)槌刈佑写笮?當(dāng)池子體積不夠承載時(shí),就涉及到拒絕策略。JDK中已預(yù)設(shè)了?4?種線程池拒絕策略,下面結(jié)合場(chǎng)景詳細(xì)聊聊這些策略的使用場(chǎng)景以及還能擴(kuò)展哪些拒絕策略2021-11-11

