springboot整合email傳送,來自新手村
阿新 • • 發佈:2018-11-16
springboot整合email傳送
起源
距離上一家公司已經離開了半年多了,和以前的同事也都有聯絡,這篇文章的緣由就是之前同事的一個問題,由於公司是通過demo進行分支開發,所以以前集成了大部分的功能,email的傳送也在其中,言歸正傳,開始今天的理解。
pom修改
首先需要掌握一些springboot的基礎知識,和maven的相關知識。
配置檔案更改
由於,springboot可以使用兩種配置檔案,.properties/.yml 兩種格式,
springboot官方建議使用.yml檔案,所以我就選擇了.yml檔案,畢竟追求時尚嘛,程式碼如下,均有提示。
java程式碼
第一步:建立一個Bean,建議使用lombok外掛,這樣可以減少set,get方法等等。
第二步:建立一個email配置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(EmailEntity 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); }
}
第三步:建立一個controller進行測試,程式碼如下
注意點:
1.Component 註解:用於放置容器bean物件。
2.測試時,切記,@PostMapping(),一定要使用post方式請求,建議使用postman工具,還是很好用的。
3.本人新手攻城獅,請多包涵,技術有限,理解有限,謝謝。