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. axios与ajax区别
  2. python语法错误概述_python语法错误
  3. 基于aspectj实现AOP操作的两种方式——xml配置
  4. php 输出的区别,php的6种输出方式的区别_后端开发
  5. 为什么有时候 php 没有写闭合标签结束符?
  6. 互联网50周年!这有它的一张“出生证明”
  7. leetcode1302. 层数最深叶子节点的和(深度优先搜索)
  8. javascript教程_JavaScript教程
  9. QQ音乐首发“无缝播放”新功能 音乐流媒体平台陆续上线
  10. Linux下修改当前用户的最大线程数和 open files
  11. Swift - 使用导航条和导航条控制器来进行页面切换并传递数据
  12. 基于vscode编写markdown导出带书签(目录)的pdf
  13. 二阶常系数微分方程求解步骤
  14. AI人工智能PyTorch深度学习
  15. Go的WaitGroup源码分析
  16. python练手项目
  17. Pytorch笔记:风格迁移
  18. 拆解USB无线网卡,电路方案非常经典(附高清美图)
  19. vue写一个翻页的时间插件
  20. Android Studio项目在安卓手机上模拟

热门文章

  1. OpenCV+CUDA学习2---图像灰度化
  2. 关于我的辣鸡小说(闲扯)
  3. 结构体------对齐与压缩(#pragma, __packed)
  4. Cannot redeclare C() (previously declared in .
  5. 如何善用git_善用封盖
  6. 用Keras单层网络预测银行客户流失率
  7. Matlab自适应滤波算法 LMS小白通俗易懂版
  8. 《佛密诸事》第五章 罗汉五密说
  9. 【转】获取Windows系统明文密码神器
  10. Mac IDEA彻底删除项目详解