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