Spring boot 整合郵件服務
新增依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
新增配置檔案
stmp.host=smtp.163.com
stmp.account=xxxxxxx@163.com
stmp.password=*********
mail.smtp.auth=true
mail.smtp.timeout =25000
建立實體
public class MyEmail {
private String receiver;
private String subject;
private String text;
private String content;
public String getReceiver() {
return receiver;
}
public void setReceiver(String receiver) {
this.receiver = receiver;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
註冊Bean
@Component
public class EmailConfig {
@Value("${stmp.host}")
private String host;
@Value("${stmp.account}")
private String account;
@Value("${stmp.password}")
private String password;
@Value("${mail.smtp.auth}")
private String isAuth;
@Value("${mail.smtp.timeout}")
private String outTime;
@Bean(name = "JavaMailSenderImpl")
public JavaMailSenderImpl getMailSender(){
JavaMailSenderImpl javaMailSender= new JavaMailSenderImpl();
javaMailSender.setHost(host);
javaMailSender.setUsername(account);
javaMailSender.setPassword(password);
Properties properties=new Properties();
properties.put("mail.smtp.auth", isAuth);
properties.put("mail.smtp.timeout", outTime);
javaMailSender.setJavaMailProperties(properties);
return javaMailSender;
}
public void sendSimpleMail(MyEmail email){
SimpleMailMessage simpleMailMessage=new SimpleMailMessage();
simpleMailMessage.setFrom(account);
String receiver=email.getReceiver();
String receivers[]=receiver.split(";");
simpleMailMessage.setTo(receivers);
simpleMailMessage.setSubject(email.getSubject());
simpleMailMessage.setText(email.getContent());
getMailSender().send(simpleMailMessage);
}
}
測試
@Autowired
EmailConfig mc;
@Test
public void testEmailConfig(){
MyEmail email = new MyEmail();
email.setReceiver("[email protected]");
email.setContent("welcome ");
email.setSubject("test");
mc.sendSimpleMail(email);
System.out.println("successful to send message");
}
這樣就可以傳送簡單的郵件訊息。如果想要傳送比較複雜的郵件,比如說有附件,有圖片等。需要使用MimeMailMessage
類來實現。這裡面只需要修改的就是註冊Bean
的時候新增這個功能即可,附程式碼如下:
@Component
public class EmailConfig {
@Value("${GaH.stmp.host}")
private String host;
@Value("${GaH.stmp.account}")
private String account;
@Value("${GaH.stmp.password}")
private String password;
@Value("${mail.smtp.auth}")
private String isAuth;
@Value("${mail.smtp.timeout}")
private String outTime;
@Value("${mail.attach.img}")
private String imgPath;
@Bean(name = "JavaMailSenderImpl")
public JavaMailSenderImpl getMailSender(){
JavaMailSenderImpl javaMailSender= new JavaMailSenderImpl();
javaMailSender.setHost(host);
javaMailSender.setUsername(account);
javaMailSender.setPassword(password);
Properties properties=new Properties();
properties.put("mail.smtp.auth", isAuth);
properties.put("mail.smtp.timeout", outTime);
javaMailSender.setJavaMailProperties(properties);
return javaMailSender;
}
public void sendSimpleMail(MyEmail email){
SimpleMailMessage simpleMailMessage=new SimpleMailMessage();
simpleMailMessage.setFrom(account);
String receiver=email.getReceiver();
String receivers[]=receiver.split(";");
simpleMailMessage.setTo(receivers);
simpleMailMessage.setSubject(email.getSubject());
simpleMailMessage.setText(email.getContent());
getMailSender().send(simpleMailMessage);
}
public void sendMimeMail(MyEmail email){
MimeMessage mimMessage= getMailSender().createMimeMessage();
try {
MimeMessageHelper messageHelper=new MimeMessageHelper(mimMessage,true,"utf-8");
messageHelper.setFrom(account);
String receiver=email.getReceiver();
String receivers[]=receiver.split(";");
messageHelper.setTo(receivers);
messageHelper.setSubject(email.getSubject());
messageHelper.setText(email.getContent(),true);//Set the second Param to True
FileSystemResource res= new FileSystemResource(new File(imgPath));
messageHelper.addInline("attachFile",res);
getMailSender().send(mimMessage);
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
配置檔案都在application.properties中,如果想要自定義配置檔案的位置,可以參考:
spring boot 自定義檔案配置
相關推薦
Spring boot 整合郵件服務
新增依賴 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-
Spring boot 整合JavaMail服務傳送郵件
JavaMail是SUN提供給廣大Java開發人員的一款郵件傳送和接受的一款開源類庫,支援常用的郵件協議,如:SMTP、POP3、IMAP,開發人員使用JavaMail編寫郵件程式時,不再需要考慮底層的通訊細節如:Socket而是關注在邏輯層面。JavaMail可以傳送各種
spring-boot(六) 郵件服務
一起 入庫 ref ati run from 了解 end 字符串 學習文章來自:springboot(十):郵件服務 簡單使用 1、pom包配置 pom包裏面添加spring-boot-starter-mail包引用 <dependencies&g
Spring Boot實現郵件服務,附常見郵箱的配置
1. pom.xml檔案中引入依賴 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail<
第十三篇:Spring Boot之郵件服務
傳送郵件應該是網站的必備功能之一,什麼註冊驗證,忘記密碼或者是給使用者傳送營銷資訊。最早期的時候我們會使用JavaMail的相關API來編寫傳送郵件的相關程式碼,後來Spring推出了JavaMailSender更加簡化了郵件傳送的過程,再之後Spring Boot對此進行了封裝就有了現
企業分布式微服務雲SpringCloud SpringBoot mybatis (十三)Spring Boot整合MyBatis
ech 字段 osc 操作 with public assert 連接 ref Spring中整合MyBatis就不多說了,最近大量使用Spring Boot,因此整理一下Spring Boot中整合MyBatis的步驟。搜了一下Spring Boot整合MyBatis的文
Spring Boot 整合dubbo與zookeeper實現不同專案之間資料通過服務的傳遞
一、安裝zookeeper 1、下載路徑:http://mirrors.hust.edu.cn/apache/zookeeper/ 可以自己選擇版本進行下載(同時支援windows和linux) 2、目錄結構 3、修改conf下的配置檔案zoo.cfg 4、
SpringCloud SpringBoot mybatis 分散式微服務(十四)Spring Boot整合MyBatis
Spring中整合MyBatis就不多說了,最近大量使用Spring Boot,因此整理一下Spring Boot中整合MyBatis的步驟。搜了一下Spring Boot整合MyBatis的文章,方法都比較老,比較繁瑣。查了一下文件,實際已經支援較為簡單的整合與使用。下面就
spring boot整合jpa構建微服務以及服務呼叫
一、Maven構建專案 1、訪問http://start.spring.io/ 2、選擇構建專案的基本資訊,參考下圖: 3、點選Generate Project下載專案壓縮包 4、下載後解壓到本地,並以Import -> Existing Maven Projec
spring boot 整合activemq 進行服務端訊息推送(web頁面)
最近公司的專案裡有需要服務端向web端實時推送訊息的需求,網上搜索了一番,有前端頁面通過定時任務向後臺傳送ajax請求重新整理,有使用第三方提供的訊息服務(GoEasy),前者因為會有很多請求是無用的,容易加大伺服器負荷造成宕機,後者現在收費了(免費的也只能用一
Spring boot整合mybatis實現Restful服務demo
首先要宣告,這個demo很大程度上參考了這篇文章: 所以把它歸為轉載之列。 首先建立資料表並插入一條資料(資料庫名隨意): DROP TABLE IF EXISTS `city`; CREATE TABLE `city` ( `id` int(10) unsig
spring-boot整合dubbo:Spring-boot-dubbo-starter
hub pack 自動配置 china end service get exceptio 整合 為什麽要寫這個小工具 如果你用過Spring-boot來提供dubbo服務,相信使用中有很多“不爽”的地方。既然使用spring boot,那麽能用註解的地方絕不用xml配置,這
Spring Boot 整合 Elasticsearch,實現 function score query 權重分查詢
search 小寫 業務 jpg 啟動會 last cti cal agen 摘要: 原創出處 www.bysocket.com 「泥瓦匠BYSocket 」歡迎轉載,保留摘要,謝謝! 『 預見未來最好的方式就是親手創造未來 – 《史蒂夫·喬布斯
Spring Boot 部署與服務配置
端口 pattern alt getclass utf-8 打包成 interface ber eba Spring Boot 其默認是集成web容器的,啟動方式由像普通Java程序一樣。main函數入口啟動。其內置Tomcat容器或Jetty容器,詳細
十六、Spring Boot 部署與服務配置
truct package pen vra 技術分享 時間 gprof ica 情況 spring Boot 其默認是集成web容器的,啟動方式由像普通Java程序一樣,main函數入口啟動。其內置Tomcat容器或Jetty容器,具體由配置來決定(默認Tomcat)。當然
spring boot整合mybatis深坑之c3p0的詳細配置
text context ati reat source ast type fig oot 項目地址:https://gitee.com/zhangjunqing/spring-boot/tree/master/springboot-mybatis-notice 本人在c3
spring boot整合swagger ui (RESTFUL接口的文檔在線自動生成+功能測試功能軟件,前後端分離快速開發)
oot images user builder img iop spi update and swagger ui可以通過來攔截controller層,生成請求API,並將其展示在瀏覽器當中。我們可以直接通過瀏覽器來查看和調試接口。 1 添加maven依賴
Spring boot整合jsp
jstl標簽庫 中學 encoding 正常 group lan 名稱 free vax 這幾天在集中學習Spring boot+Shiro框架,因為之前view層用jsp比較多,所以想在spring boot中配置jsp,但是spring boot官方不推薦使用jsp
spring boot 整合mybatis
參考 plugins odin system stack name incr xmlns xsd 參考: http://blog.csdn.net/saytime/article/details/74783296 spring boot可以使用全註解的方式進行開發,極大的提
spring boot整合mybatis+mybatis-plus
可靠 nic false system ttr .post 代碼生成 -i filters Spring boot對於我來說是一個剛接觸的新東西,學習過程中,發現這東西還是很容易上手的,Spring boot沒配置時會默認使用Spring data jpa,這東西可以說一個