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/

最新文章

  1. Oracle工具类-生成数据库现有Job的创建脚本
  2. 自定义 URL Scheme 完全指南(转载)
  3. PreparedStatement和Statment
  4. ASP.NET -- repeater控件的使用
  5. Mysql加入用户时的错误问题
  6. RichTextBox 右键显示 ContextMenuTrip
  7. 我的Android 4 学习系列之Intent 和 Broadcast Reciever
  8. Webservice WCF WebApi
  9. hdu5514 非2的次幂容斥原理
  10. ajax通过设置Access-Control-Allow-Origin来实现跨域访问
  11. IMosaicWorkspaceExtensionHelper
  12. vue中数据双向绑定的实现原理
  13. JAVA中if多分支和switch的优劣性。
  14. [转帖]TCP和UDP的135、137、138、139、445端口的作用
  15. 2018牛客网暑期ACM多校训练营(第三场)C Shuffle Cards(可持久化平衡树/splay)
  16. eclipse4.2版本下面安装ADT,安装已经完成了,但没有ADT的那个图标显示
  17. js-Higher-base.js
  18. selinux介绍/状态查看/开启/关闭
  19. CentOS7 yum安装Java+Apache(httpd)+Tomcat并开启自启动
  20. Linux下grub.cnf详解

热门文章

  1. SpringBoot-(4)-Filter的使用
  2. EF 编程经验
  3. px dp 互转
  4. [RK3288][Android6.0] 调试笔记 --- 替换系统签名【转】
  5. sdut oj 2372 Annoying painting tool (【暴力枚举测试】1Y )
  6. Jenkins安装部署及tomcat的入门介绍
  7. Nginx安装教程(Centos6.8)
  8. 跟我一起学wpf(1)-布局
  9. Android BLE 总结-源码篇(BluetoothLeAdvertiser)
  10. 让tomcat启动时,自动加载你的项目