SpringBoot任務(wù)之詳解郵件任務(wù)
一、SpringBoot--任務(wù):郵件任務(wù)
1.1 添加依賴(增加郵件支持)
pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
1.2 獲取第三方授權(quán)碼
1.2.1 登錄QQ郵箱
1.2.2 點(diǎn)擊設(shè)置
1.2.3 切換到賬戶
1.2.4 開啟服務(wù)
1.2.5 驗(yàn)證密保
1.2.6 成功獲取授權(quán)碼
這是為了不直接暴露QQ密碼設(shè)置的機(jī)制
ljoghujwhbkpbaff
1.2.7 保存更改(左下角)
1.3 配置郵件信息
application.properties
# qq郵箱 spring.mail.username=1585526224@qq.com # 剛剛生成的授權(quán)碼 spring.mail.password=ljoghujwhbkpbaff # qq郵箱的host spring.mail.host=smtp.qq.com #開啟加密驗(yàn)證(qq郵箱) spring.mail.properties.mail.smtp.ssl.enable=true
1.4 簡單郵件發(fā)送
直接調(diào)用SpringBoot
的JavaMailSenderImpl
類,使用SimpleMailMessage
發(fā)送簡單郵件
EmaildemoApplicationTests.java
package com.tian.emaildemo; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSenderImpl; @SpringBootTest class EmaildemoApplicationTests { @Autowired JavaMailSenderImpl mailSender; @Test void contextLoads() { SimpleMailMessage simpleMailMessage = new SimpleMailMessage(); // 郵件主題 simpleMailMessage.setSubject("你好"); // 郵件文本 simpleMailMessage.setText("Hello world"); // 接收方 simpleMailMessage.setTo("1585526224@qq.com"); // 發(fā)送方 simpleMailMessage.setFrom("1585526224@qq.com"); // 發(fā)送郵件 mailSender.send(simpleMailMessage); } }
運(yùn)行結(jié)果:
1.5 復(fù)雜郵件發(fā)送
調(diào)用mailSender.createMimeMessage()
并使用MimeMessageHelper
配置郵件內(nèi)容,發(fā)送即可,郵件內(nèi)容后設(shè)置為true
可以解析html
格式的內(nèi)容
EmaildemoApplicationTests.java
@Test void contextLoads() throws MessagingException { SimpleMailMessage simpleMailMessage = new SimpleMailMessage(); //復(fù)雜郵件 MimeMessage mimeMessage = mailSender.createMimeMessage(); //組裝 MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true); mimeMessageHelper.setSubject("復(fù)雜郵件"); // 發(fā)送文本: html文本 mimeMessageHelper.setText("<p style='color: orange;'>\n" + " ??驼勫?,煙濤微茫信難求;<br>\n" + "\n" + " 越人語天姥,云霞明滅或可睹。<br>\n" + "\n" + " 天姥連天向天橫,勢拔五岳掩赤城。<br>\n" + "\n" + " 天臺四萬八千丈,對此欲倒東南傾。<br>\n" + "\n" + " (四萬 一作:一萬)我欲因之夢吳越,一夜飛度鏡湖月。<br>\n" + "\n" + " (度 通:渡)湖月照我影,送我至剡溪。<br>\n" + "\n" + " 謝公宿處今尚在,淥水蕩漾清猿啼。<br>\n" + " <br>\n" + " 腳著謝公屐,身登青云梯。<br>\n" + "\n" + " 半壁見海日,空中聞天雞。<br>\n" + "\n" + " 千巖萬轉(zhuǎn)路不定,迷花倚石忽已暝。<br>\n" + "\n" + " 熊咆龍吟殷巖泉,栗深林兮驚層巔。<br>\n" + "\n" + " 云青青兮欲雨,水澹澹兮生煙。<br>\n" + "\n" + " 列缺霹靂,丘巒崩摧。<br>\n" + " <br>\n" + " 洞天石扉,訇然中開。<br>\n" + "\n" + " 青冥浩蕩不見底,日月照耀金銀臺。<br>\n" + "\n" + " 霓為衣兮風(fēng)為馬,云之君兮紛紛而來下。<br>\n" + "\n" + " 虎鼓瑟兮鸞回車,仙之人兮列如麻。<br>\n" + "\n" + " 忽魂悸以魄動(dòng),恍驚起而長嗟。<br>\n" + " <br>\n" + " 惟覺時(shí)之枕席,失向來之煙霞。<br>\n" + "\n" + " 世間行樂亦如此,古來萬事東流水。<br>\n" + "\n" + " 別君去兮何時(shí)還?<br>\n" + "\n" + " 且放白鹿青崖間。<br>\n" + "\n" + " 須行即騎訪名山。<br>\n" + "\n" + " 安能摧眉折腰事權(quán)貴,使我不得開心顏!<br>\n" + " </p>", true);//true,開啟html解析 // 發(fā)送圖片 mimeMessageHelper.addAttachment("重慶理工大學(xué)夜景.jpg", new File("D:\\圖片\\schoolNight.jpg")); mimeMessageHelper.setTo("1585526224@qq.com"); mimeMessageHelper.setFrom("1585526224@qq.com"); mailSender.send(mimeMessage); }
運(yùn)行結(jié)果:
我不知道為什么:我寫的CSS樣式在電腦上面不可預(yù)見,但是在我的手機(jī)QQ郵箱確是可以看見的。歡迎知道的大神告訴我
1.6 可以把上面復(fù)雜發(fā)送郵件封裝成一個(gè)方法
public void SendMail(Boolean html, String title, String text, File file, String sendTo, String sendFrom) throws MessagingException { //復(fù)雜郵件 MimeMessage mimeMessage = mailSender.createMimeMessage(); //組裝 MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true); mimeMessageHelper.setSubject(title); mimeMessageHelper.setText(text, html);//true,開啟html解析 mimeMessageHelper.addAttachment("1.jpg", file); mimeMessageHelper.setTo(sendTo); mimeMessageHelper.setFrom(sendFrom); mailSender.send(mimeMessage); }
到此這篇關(guān)于SpringBoot任務(wù)之詳解郵件任務(wù)的文章就介紹到這了,更多相關(guān)SpringBoot郵件任務(wù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用JavaWeb webSocket實(shí)現(xiàn)簡易的點(diǎn)對點(diǎn)聊天功能實(shí)例代碼
這篇文章主要介紹了使用JavaWeb webSocket實(shí)現(xiàn)簡易的點(diǎn)對點(diǎn)聊天功能實(shí)例代碼的相關(guān)資料,內(nèi)容介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-05-05Java中ResultSetMetaData 元數(shù)據(jù)的具體使用
本文主要介紹了Java中ResultSetMetaData 元數(shù)據(jù)的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04Java class文件格式之常量池_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了Java class文件格式之常量池的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06java集合Collection實(shí)現(xiàn)類解析ArrayList?LinkedList及Vector
這篇文章主要為大家介紹了java集合Collection實(shí)現(xiàn)類解析ArrayList?LinkedList及Vector,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-03-03