SpringBoot實現傳送郵件任務
阿新 • • 發佈:2020-02-13
本文例項為大家分享了SpringBoot實現傳送郵件任務的具體程式碼,供大家參考,具體內容如下
1.pom中引入spring-boot-starter-mail
<dependencies> <!--郵件--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> <!--web--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
2.假如 張三@qq.com 給 李四@163.com 傳送郵件,張三首先要登入自己的郵箱,所以先要配置傳送者的賬號密碼,伺服器地址。
注意:第三方登入郵箱的時候,使用的不是郵箱的原本密碼,使用的是臨時授權碼。
以QQ郵箱為例子,開啟郵箱!
點選賬戶
往下拉,全部開啟,生成授權碼!
全部開啟。點選生成授權碼!
3.配置application.properties
##發件人郵箱 [email protected] ##生成的授權碼 spring.mail.password=lojwzgpnrpzmifgg ##QQ的SMIP地址 spring.mail.host=smtp.qq.com ##配置安全連線 spring.mail.properties.mail.smtp.ssl.enable=true
4.在測試類中測試
package com.zyb.task; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.test.context.junit4.SpringRunner; import javax.mail.internet.MimeMessage; import java.io.File; @RunWith(SpringRunner.class) @SpringBootTest public class SpringbootTaskApplicationTests { //注入郵件傳送器 @Autowired JavaMailSenderImpl javaMailSender; /** * 簡單郵件測試 */ @Test public void contextLoads1() { SimpleMailMessage message = new SimpleMailMessage(); message.setText("今晚7點鐘開會"); message.setSubject("通知-開會"); //傳送者郵箱 message.setFrom("[email protected]"); //傳送到哪個郵箱 message.setTo("[email protected]"); javaMailSender.send(message); } /** * 複雜郵件測試 */ @Test public void contextLoads2() throws Exception{ //1.建立一個複雜的訊息郵件 MimeMessage mimeMessage = javaMailSender.createMimeMessage(); //第二個引數 是否需要上傳附件 MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true); //郵件設定 //這裡可以使用html標籤樣式 helper.setText("<b style='color:red'>今晚7點鐘開會",true); helper.setSubject("通知-開會"); //傳送者郵箱 helper.setFrom("[email protected]"); //傳送到哪個郵箱 helper.setTo("[email protected]"); //上傳附件 附件名,路徑 helper.addAttachment("1.jpg",new File("C:\\Users\\Administrator\\Desktop\\img\\iphone桌布\\1.jpg")); javaMailSender.send(mimeMessage); } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。