SpringBoot | 集成Java Mail
Spring Boot 对Java mail 集成提供了自动配置的支持,只需要配置依赖以及在application.properties 里配置邮件信息即可。
添加依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
在 src/main/resources/application.properties 中配置邮件信息:
# 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
测试 | 发送内嵌图片的邮件
@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=1001256
进入设置-》帐户页面找到入口,按照以下流程操作。
(1)点击“开启”
借鉴博客:http://blog.720ui.com/2017/springboot_07_othercore_javamail/