SpringBoot實(shí)現(xiàn)發(fā)送郵件任務(wù)
本文實(shí)例為大家分享了SpringBoot實(shí)現(xiàn)發(fā)送郵件任務(wù)的具體代碼,供大家參考,具體內(nèi)容如下
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 發(fā)送郵件,張三首先要登錄自己的郵箱,所以先要配置發(fā)送者的賬號(hào)密碼,服務(wù)器地址。
注意:第三方登錄郵箱的時(shí)候,使用的不是郵箱的原本密碼,使用的是臨時(shí)授權(quán)碼。
以QQ郵箱為例子,打開(kāi)郵箱!
點(diǎn)擊賬戶

往下拉,全部開(kāi)啟,生成授權(quán)碼!

全部開(kāi)啟。點(diǎn)擊生成授權(quán)碼!
3.配置application.properties
##發(fā)件人郵箱 spring.mail.username=119848xxxx@qq.com ##生成的授權(quán)碼 spring.mail.password=lojwzgpnrpzmifgg ##QQ的SMIP地址 spring.mail.host=smtp.qq.com ##配置安全連接 spring.mail.properties.mail.smtp.ssl.enable=true
4.在測(cè)試類(lèi)中測(cè)試

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 {
//注入郵件發(fā)送器
@Autowired
JavaMailSenderImpl javaMailSender;
/**
* 簡(jiǎn)單郵件測(cè)試
*/
@Test
public void contextLoads1() {
SimpleMailMessage message = new SimpleMailMessage();
message.setText("今晚7點(diǎn)鐘開(kāi)會(huì)");
message.setSubject("通知-開(kāi)會(huì)");
//發(fā)送者郵箱
message.setFrom("119848xxxx@qq.com");
//發(fā)送到哪個(gè)郵箱
message.setTo("zyb_xxx@126.com");
javaMailSender.send(message);
}
/**
* 復(fù)雜郵件測(cè)試
*/
@Test
public void contextLoads2() throws Exception{
//1.創(chuàng)建一個(gè)復(fù)雜的消息郵件
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
//第二個(gè)參數(shù) 是否需要上傳附件
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
//郵件設(shè)置
//這里可以使用html標(biāo)簽樣式
helper.setText("<b style='color:red'>今晚7點(diǎn)鐘開(kāi)會(huì)</b>",true);
helper.setSubject("通知-開(kāi)會(huì)");
//發(fā)送者郵箱
helper.setFrom("119848xxxx@qq.com");
//發(fā)送到哪個(gè)郵箱
helper.setTo("zyb_xxx@126.com");
//上傳附件 附件名,路徑
helper.addAttachment("1.jpg",new File("C:\\Users\\Administrator\\Desktop\\img\\iphone壁紙\\1.jpg"));
javaMailSender.send(mimeMessage);
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JDK SPI機(jī)制以及自定義SPI類(lèi)加載問(wèn)題
這篇文章主要介紹了JDK SPI機(jī)制以及自定義SPI類(lèi)加載問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
tk-mybatis整合springBoot使用兩個(gè)數(shù)據(jù)源的方法
單純的使用mybaits進(jìn)行多數(shù)據(jù)配置網(wǎng)上資料很多,但是關(guān)于tk-mybaits多數(shù)據(jù)源配置沒(méi)有相關(guān)材料,本文就詳細(xì)的介紹一下如何使用,感興趣的可以了解一下2021-12-12
springboot創(chuàng)建線程池的兩種方式小結(jié)
這篇文章主要介紹了springboot創(chuàng)建線程池的兩種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
Java新手學(xué)習(xí)之IO流的簡(jiǎn)單使用
IO主要用于設(shè)備之間的數(shù)據(jù)傳輸,Java將操作數(shù)據(jù)流的功能封裝到了IO包中,這篇文章主要給大家介紹了關(guān)于Java新手學(xué)習(xí)之IO流簡(jiǎn)單使用的相關(guān)資料,需要的朋友可以參考下2021-10-10
解析SpringBoot自定義參數(shù)校驗(yàn)注解
這篇文章主要介紹了SpringBoot自定義參數(shù)校驗(yàn)注解,引入依賴,spring validation是在hibernate-validator上做了一層封裝,文中提到了定義參數(shù)校驗(yàn)注解與處理器的示例代碼,感興趣的朋友跟隨小編一起看看吧2023-10-10
Java動(dòng)態(tài)數(shù)組添加數(shù)據(jù)的方法與應(yīng)用示例
這篇文章主要介紹了Java動(dòng)態(tài)數(shù)組添加數(shù)據(jù)的方法,結(jié)合實(shí)例形式詳細(xì)分析了Java動(dòng)態(tài)數(shù)組的創(chuàng)建、添加、查找、打印等相關(guān)操作技巧,需要的朋友可以參考下2019-11-11

