Spring Boot實現(xiàn)發(fā)送郵件
發(fā)送郵件
在web開發(fā)中,發(fā)送郵件是一個很常用的功能,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)建一個簡單郵件對象SimpleMailMessage,設(shè)置郵件的主題,內(nèi)容,發(fā)件人和收件人,然后自動注入JavaMailSenderImpl對象,使用這個對象的send方法發(fā)送郵件
@SpringBootTest class DemoApplicationTests { @Autowired JavaMailSenderImpl mailSender; @Test void contextLoads() { SimpleMailMessage message = new SimpleMailMessage(); message.setSubject("測試郵件"); message.setText("這是一封測試郵件"); message.setTo("blackball1998@outlook.com"); message.setFrom("425017255@qq.com"); mailSender.send(message); } }
這樣就可以發(fā)送簡單郵件了
發(fā)送復(fù)雜郵件
發(fā)送復(fù)雜郵件,可以使用發(fā)送類的createMimeMessage方法創(chuàng)建一個復(fù)雜郵件對象MimeMessage,這個方法還有一個重載方法,可以讀取IO流創(chuàng)建郵件對象
創(chuàng)建一個用于設(shè)置郵件的對象MimeMessageHelper,這個對象可以設(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("測試復(fù)雜郵件"); // 設(shè)置帶樣式的正文,使用html的方式設(shè)置樣式 messageHelper.setText("<h1>這是一封測試郵件</h1><p style='color:red'>請查收附件</p>",true); // 讀取本地的一個文件,設(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ù)雜郵件
郵件中的附件也可以打開
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- SpringBoot整合JavaMail通過阿里云企業(yè)郵箱發(fā)送郵件的實現(xiàn)
- springboot實現(xiàn)發(fā)送郵件(QQ郵箱為例)
- 基于SpringBoot實現(xiàn)定時發(fā)送郵件過程解析
- SpringBoot發(fā)送郵件功能 驗證碼5分鐘過期
- SpringBoot實現(xiàn)發(fā)送郵件功能
- SpringBoot使用FreeMarker模板發(fā)送郵件
- SpringBoot JavaMailSender發(fā)送郵件功能
- Spring Boot發(fā)送郵件詳解
- Spring Boot 發(fā)送郵件功能案例分析
- Spring Boot中利用JavaMailSender發(fā)送郵件的方法示例(附源碼)
相關(guān)文章
Java日期時間及日期相互轉(zhuǎn)換實現(xiàn)代碼
這篇文章主要介紹了Java日期時間及日期相互轉(zhuǎn)換實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-12-12SpringCloud 服務(wù)網(wǎng)關(guān)路由規(guī)則的坑及解決
這篇文章主要介紹了SpringCloud 服務(wù)網(wǎng)關(guān)路由規(guī)則的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07IDEA創(chuàng)建springboot + mybatis項目全過程(步驟詳解)
這篇文章主要介紹了IDEA創(chuàng)建springboot + mybatis項目全過程及步驟詳解,本文通圖文實例代碼相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07使用Java代碼獲取服務(wù)器性能信息及局域網(wǎng)內(nèi)主機名
這篇文章主要介紹了使用Java代碼獲取服務(wù)器性能信息及局域網(wǎng)內(nèi)主機名的方法,方便對服務(wù)器的遠程管理和團隊協(xié)作時用到,而且文中的方法無需調(diào)用jni,需要的朋友可以參考下2015-11-11實體類使用@Builder,導(dǎo)致@ConfigurationProperties注入屬性失敗問題
這篇文章主要介紹了實體類使用@Builder,導(dǎo)致@ConfigurationProperties注入屬性失敗問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12java線程池ThreadPoolExecutor的八種拒絕策略示例詳解
ThreadPoolExecutor是一個典型的緩存池化設(shè)計的產(chǎn)物,因為池子有大小,當(dāng)池子體積不夠承載時,就涉及到拒絕策略。JDK中已預(yù)設(shè)了?4?種線程池拒絕策略,下面結(jié)合場景詳細聊聊這些策略的使用場景以及還能擴展哪些拒絕策略2021-11-11