Spring Boot 對Java mail 集成提供了自動配置的支持,只須要配置依賴以及在application.properties 裏配置郵件信息便可。html
添加依賴:java
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
在 src/main/resources/application.properties 中配置郵件信息:spring
# java email # 對應發送服務器的STMP服務器地址 spring.mail.host=smtp.qq.com # 發件人郵箱地址 spring.mail.username=*****@qq.com # stmp受權密碼 spring.mail.password=***** # 設置端口號 QQ開放465/587 spring.mail.port=587 spring.mail.protocol=smtp spring.mail.default-encoding=UTF-8
測試 | 發送內嵌圖片的郵件springboot
@Component public class SpendMail { @Autowired private JavaMailSenderImpl mailSender; public void sendAttachedImageMail() throws MessagingException { MimeMessage mimeMessage = mailSender.createMimeMessage(); // multipart模式 MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true); // 對應發送服務器的地址 mimeMessageHelper.setTo("*****@qq.com"); // 對應接受郵件地址 mimeMessageHelper.setFrom("******@qq.com"); // 設置主題 mimeMessageHelper.setSubject("測試【圖片】"); // 構建HTML代碼 StringBuilder sb = new StringBuilder(); sb.append("<html><head></head>"); sb.append("<body><h1>登陸驗證</h1><p>請在一個小時內驗證。</p>"); // cid爲固定寫法,imageId指定一個標識 sb.append("<img src=\"cid:imageId\"/></body>"); sb.append("</html>"); // 啓用html mimeMessageHelper.setText(sb.toString(), true); // 設置imageId FileSystemResource img = new FileSystemResource(new File("D:/1.png")); mimeMessageHelper.addInline("imageId", img); // 發送郵件 mailSender.send(mimeMessage); } }
獲取stmp受權密碼 | QQ郵箱服務器
官方幫助文檔:https://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256app
進入設置-》賬戶頁面找到入口,按照如下流程操做。
(1)點擊「開啓」
借鑑博客:http://blog.720ui.com/2017/springboot_07_othercore_javamail/spring-boot