Spring Boot利用Java Mail實(shí)現(xiàn)郵件發(fā)送
本文實(shí)例為大家分享了Spring Boot利用Java Mail實(shí)現(xiàn)郵件發(fā)送的具體代碼,供大家參考,具體內(nèi)容如下
實(shí)現(xiàn)郵件發(fā)送的方法有很多,這里只是簡單記錄一個(gè)demo實(shí)現(xiàn)
1. 引入maven依賴
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context-support --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>3.2.0.RELEASE</version> </dependency> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> </dependency>
2. 配置郵箱bean信息
我的配置文件名稱是application-bean.xml
我是用qq郵箱做的測試,這里需要注意的是password要配置成郵箱授權(quán)碼,不是郵箱密碼
簡單說下郵箱授權(quán)碼的獲取方式:
登錄網(wǎng)頁版QQ郵箱 > 設(shè)置 > 賬戶,需要保證 SMTP 服務(wù)開啟
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="smtp.qq.com"/> <property name="port" value="465"/> <property name="defaultEncoding" value="utf-8"/> <property name="username" value="你的郵箱地址"/> <property name="password" value="你的郵箱授權(quán)碼(不是郵箱密碼)"/> <property name="javaMailProperties"> <props> <prop key="mail.smtp.sendpartial">true</prop> <prop key="mail.smtp.auth">true</prop> <prop key="mail.smtp.socketFactory.port">465</prop> <prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop> </props> </property> </bean> <bean class="com.amwalle.walle.util.Mail"> <property name="mailSender" ref="mailSender"/> </bean> </beans>
3. 加載bean配置信息
實(shí)現(xiàn)了一個(gè)BeanConfig類:
package com.amwalle.walle.bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.ImportResource; @Configuration @ImportResource(locations={"classpath:/application-bean.xml"}) public class BeanConfig { }
4. 郵件發(fā)送類
簡單實(shí)現(xiàn)了一個(gè)郵件發(fā)送的類,其中包含發(fā)送郵件方法 sendMail:
package com.amwalle.walle.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.javamail.MimeMessageHelper; import javax.mail.internet.MimeMessage; public class Mail { private static final Logger logger = LoggerFactory.getLogger(Mail.class); private static JavaMailSenderImpl mailSender; public static void sendMail(String title, String html, String to) { try { MimeMessage msg = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(msg, true); helper.setFrom(mailSender.getUsername()); helper.setTo(to); helper.setSubject(title); helper.setText(html, true); mailSender.send(msg); } catch (Exception e) { logger.error("sendMail error", e); } } public void setMailSender(JavaMailSenderImpl mailSender) { Mail.mailSender = mailSender; } public JavaMailSenderImpl getMailSender() { return mailSender; } }
5. 測試郵件發(fā)送
調(diào)用郵件發(fā)送,檢查是否發(fā)送成功:
package com.amwalle.walle.controller; import com.amwalle.walle.util.Mail; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @RestController @EnableAutoConfiguration public class HelloWorldController { private static final Logger logger = LoggerFactory.getLogger(HelloWorldController.class); @RequestMapping(value = "/walle", method = RequestMethod.GET) public String helloWorld() { logger.info("--------test-------"); Mail.sendMail("test","test", "接收郵箱地址"); return "hello world"; } }
附我的工程目錄,需要修改的就是圈出來的這幾個(gè):
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 基于JavaMail實(shí)現(xiàn)簡單郵件發(fā)送
- Simple Java Mail郵件發(fā)送實(shí)現(xiàn)過程解析
- JavaMail郵件發(fā)送機(jī)制詳解
- 使用Spring的JAVA Mail支持簡化郵件發(fā)送功能
- 基于JavaMail實(shí)現(xiàn)郵件發(fā)送
- 基于JavaMail的Java實(shí)現(xiàn)復(fù)雜郵件發(fā)送功能
- 基于JavaMail的Java實(shí)現(xiàn)簡單郵件發(fā)送功能
- Java HtmlEmail 郵件發(fā)送的簡單實(shí)現(xiàn)代碼
- JavaMail實(shí)現(xiàn)郵件發(fā)送的方法
- JavaMail實(shí)現(xiàn)簡單郵件發(fā)送
相關(guān)文章
intellij idea創(chuàng)建第一個(gè)動態(tài)web項(xiàng)目的步驟方法
這篇文章主要介紹了intellij idea創(chuàng)建第一個(gè)動態(tài)web項(xiàng)目的步驟方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10add方法理解ArrayList的擴(kuò)容機(jī)制
這篇文章主要為大家介紹了add方法理解ArrayList的擴(kuò)容機(jī)制示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03簡單實(shí)現(xiàn)java數(shù)獨(dú)游戲
這篇文章主要教大家如何簡單實(shí)現(xiàn)java數(shù)獨(dú)游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12Maven項(xiàng)src/main/java目錄下配置文件無法被導(dǎo)出或者生效的問題和處理方案
這篇文章主要介紹了Maven項(xiàng)src/main/java目錄下配置文件無法被導(dǎo)出或者生效的問題和處理方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11hibernate關(guān)于session的關(guān)閉實(shí)例解析
這篇文章主要介紹了hibernate關(guān)于session的關(guān)閉實(shí)例解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02