1 依赖

引入spring mail的依赖:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId>
</dependency>

2 yml配置

配置邮件发送的属性:


spring:mail:host: smtp.qiye.163.comdefault-encoding: utf-8username: 123456@163.comprotocol: smtppassword: balabalabalaproperties:mail:smtp:auth: truestarttls:enable: truerequired: truesocketFactory:class: javax.net.ssl.SSLSocketFactoryssl:enable: true

3 发送示例代码

发送的调用代码:

@Component
public class DummySender {private JavaMailSender javaMailSender;@Autowiredpublic void setMailSender(JavaMailSender javaMailSender) {this.javaMailSender = javaMailSender;}/*** 发送多媒体邮件* @throws Exception*/public void sendMimeEmail()throws Exception {MimeMessage message = javaMailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(message, true);helper.setTo("123456@qq.com");helper.setSubject("测试邮件");helper.setFrom("123456@163.com");helper.setText("测试发送附件!");// 设置附件FileSystemResource file = new FileSystemResource(new File("/path/to/test.pdf"));helper.addAttachment("test.pdf", file);javaMailSender.send(message);}/*** 发送简单的邮件* @throws Exception*/public void sendEmail() throws Exception {SimpleMailMessage msg = new SimpleMailMessage();msg.setSubject("测试邮件");msg.setFrom("123456@163.com");msg.setTo("123456@qq.com");msg.setText("测试邮件100861");try {this.javaMailSender.send(msg);} catch (MailException ex) {// simply log it and go on...ex.printStackTrace();}}}

原理说明: spring boot的自动配置机制在发现class path有邮件的依赖时, 会自动根据spring.mail的属性配置, 注入JavaMailSender等相关的实例.

测试代码:

@SpringBootTest
class DummySenderTest {@Autowiredprivate DummySender dummySender;@Testvoid should_send_a_mime_email() throws Exception{dummySender.sendMimeEmail();}@Testvoid should_send_a_simple_email() throws Exception{dummySender.sendEmail();}
}

4 注意事项

  • 企业邮箱的smtp可能和个人邮箱的不同, 比如网易企业邮箱为smtp.qiye.163.com, 配置成smtp.163.com会导致认证失败, 无法发送.

  • 一些邮箱需要开启ssl传输.

参考

spring 框架官方文档

spring boot官方文档

Spring Boot发送邮件相关推荐

  1. Spring Boot 发送邮件

    第一步:引入Spring Boot整合邮件的依赖 <dependency><groupId>org.springframework.boot</groupId>&l ...

  2. Spring Boot 发送邮件时,出现 Mail server connection failed 异常问题

    问题描述:在使用 SpringBoot 的邮件发送组件功能,发送邮件时,本地环境能够发送成功,但部署到 腾讯云服务器后,却发送失败,报错 org.springframework.mail.MailSe ...

  3. 使用Spring Boot发送邮件

    pom包配置 <dependency><groupId>org.springframework.boot</groupId><artifactId>sp ...

  4. Spring Boot 2发送邮件手把手图文教程

    本文基于:Spring Boot 2.1.3,理论支持Spring Boot 2.x所有版本. 最近有童鞋问到笔者如何用Spring Boot发送邮件,故而整理下Spring Boot发送邮件的各种姿 ...

  5. exchange邮件服务器_基于Spring Boot快速实现发送邮件功能

    邮件在项目中经常会被用到,比如用邮件发送通知.比如,通过邮件注册.认证.找回密码.系统报警通知.报表信息等.本篇文章带大家通过SpringBoot快速实现一个发送邮件的功能. 邮件协议 下面先简单了解 ...

  6. (10)Spring Boot修改端口号【从零开始学Spring Boot】

    Spring boot 默认端口是8080,如果想要进行更改的话,只需要修改applicatoin.properties文件,在配置文件中加入: server.port=9090 常用配置: #### ...

  7. 70.打印所有Spring boot载入的bean【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 问题的提出: 我们在开发过程当中,我们可能会碰到这样的问题:No qualifying bean  就是我们定义的bean无法进行注入,那到底是什 ...

  8. (30)导入时如何定制spring-boot依赖项的版本【转载】【从零开始学Spring Boot】...

    此文章转载地址:http://www.tuicool.com/articles/RJJvMj3 请注重作者的版权. spring-boot通过maven的依赖管理为我们写好了很多依赖项及其版本,我们可 ...

  9. 54. spring boot日志升级篇—logback【从零开始学Spring Boot】

    在<44. Spring Boot日志记录SLF4J>章节中有关相关的介绍,这里我们在深入的了解下logback框架. 为什么要使用logback ? --在开发中不建议使用System. ...

最新文章

  1. Redis基础教程第7节 - Set
  2. 难道说,这就是专业程序员的办公桌?
  3. MIGO+103收货到GR冻结库存和MB1B+344从非限制到冻结区别?
  4. Hashtable与Dictionary
  5. dbscan算法_DBSCAN聚类算法探索
  6. 微软人工智能和对话平台--知识商城体验
  7. 使用浏览器获取网页模板(HTML+CSS)
  8. python tfidf特征变换_使用sklearn提取文本的tfidf特征
  9. 如何使用alt键+数字键盘上的数字键打出特殊符号
  10. js扁平数组对象转成树结构
  11. 怎么在mac下运行映像dmg_如何将Apple Mac OS X系统DMG镜像文件转换成ISO镜像文件呢?...
  12. 华为云计算HCIE学习笔记-FusionCompute
  13. 推荐书、网站(大多为计算机相关)
  14. 操作系统笔记(1.5w字耐心整理)
  15. 小米天气api html,小米天气app
  16. 街霸 隆(Ryu)升龙拳(Syoryuken)动画(四)制作过程中几个版本动画比较一下
  17. Elliptic Labs 与世界领先的笔记本电脑OEM签署首份企业软件许可合同
  18. 【RAII 思想】RAII 基本概念(一种思想)
  19. 2021-04-24
  20. AHCI VS IDE 把我整疯了。。。

热门文章

  1. 机器学习——线性回归实践
  2. 一文讲透产品经理如何用好ChatGPT
  3. recv函数和send函数
  4. 吐槽天猫精灵链接不上网络
  5. 求学时代的一本数据库老书,谢谢你的陪伴!
  6. 学生管理系统(Java+MySQL+GUI)
  7. 记录一下 pythom3.6安装dlib和cuda
  8. 迄今为止最浮夸的代码编辑器插件
  9. Linux的初试——VMware的使用和安装,CentOS6.4ISO下载
  10. 必做作业2:屏幕截取录制及编辑 软件调研