Spring Boot實(shí)現(xiàn)發(fā)送郵件
在web開發(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ā)送郵件
@SpringBootTestclass 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ā)送類的createMimeMessage方法創(chuàng)建一個(gè)復(fù)雜郵件對(duì)象MimeMessage,這個(gè)方法還有一個(gè)重載方法,可以讀取IO流創(chuàng)建郵件對(duì)象
創(chuàng)建一個(gè)用于設(shè)置郵件的對(duì)象MimeMessageHelper,這個(gè)對(duì)象可以設(shè)置多種郵件的常用屬性,這里以設(shè)置附件為例
@SpringBootTestclass 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ù)雜郵件

郵件中的附件也可以打開

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 詳解Android studio 動(dòng)態(tài)fragment的用法2. 基于android studio的layout的xml文件的創(chuàng)建方式3. 編程語言PHP在Web開發(fā)領(lǐng)域的優(yōu)勢(shì)在哪?4. 解決Android studio xml界面無法預(yù)覽問題5. 什么是python的自省6. Spring Boot和Thymeleaf整合結(jié)合JPA實(shí)現(xiàn)分頁效果(實(shí)例代碼)7. 圖文詳解vue中proto文件的函數(shù)調(diào)用8. Android如何加載Base64編碼格式圖片9. Springboot Druid 自定義加密數(shù)據(jù)庫密碼的幾種方案10. Vue封裝一個(gè)TodoList的案例與瀏覽器本地緩存的應(yīng)用實(shí)現(xiàn)

網(wǎng)公網(wǎng)安備