Spring Boot发送邮件
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发送邮件相关推荐
- Spring Boot 发送邮件
第一步:引入Spring Boot整合邮件的依赖 <dependency><groupId>org.springframework.boot</groupId>&l ...
- Spring Boot 发送邮件时,出现 Mail server connection failed 异常问题
问题描述:在使用 SpringBoot 的邮件发送组件功能,发送邮件时,本地环境能够发送成功,但部署到 腾讯云服务器后,却发送失败,报错 org.springframework.mail.MailSe ...
- 使用Spring Boot发送邮件
pom包配置 <dependency><groupId>org.springframework.boot</groupId><artifactId>sp ...
- Spring Boot 2发送邮件手把手图文教程
本文基于:Spring Boot 2.1.3,理论支持Spring Boot 2.x所有版本. 最近有童鞋问到笔者如何用Spring Boot发送邮件,故而整理下Spring Boot发送邮件的各种姿 ...
- exchange邮件服务器_基于Spring Boot快速实现发送邮件功能
邮件在项目中经常会被用到,比如用邮件发送通知.比如,通过邮件注册.认证.找回密码.系统报警通知.报表信息等.本篇文章带大家通过SpringBoot快速实现一个发送邮件的功能. 邮件协议 下面先简单了解 ...
- (10)Spring Boot修改端口号【从零开始学Spring Boot】
Spring boot 默认端口是8080,如果想要进行更改的话,只需要修改applicatoin.properties文件,在配置文件中加入: server.port=9090 常用配置: #### ...
- 70.打印所有Spring boot载入的bean【从零开始学Spring Boot】
[从零开始学习Spirng Boot-常见异常汇总] 问题的提出: 我们在开发过程当中,我们可能会碰到这样的问题:No qualifying bean 就是我们定义的bean无法进行注入,那到底是什 ...
- (30)导入时如何定制spring-boot依赖项的版本【转载】【从零开始学Spring Boot】...
此文章转载地址:http://www.tuicool.com/articles/RJJvMj3 请注重作者的版权. spring-boot通过maven的依赖管理为我们写好了很多依赖项及其版本,我们可 ...
- 54. spring boot日志升级篇—logback【从零开始学Spring Boot】
在<44. Spring Boot日志记录SLF4J>章节中有关相关的介绍,这里我们在深入的了解下logback框架. 为什么要使用logback ? --在开发中不建议使用System. ...
最新文章
- Redis基础教程第7节 - Set
- 难道说,这就是专业程序员的办公桌?
- MIGO+103收货到GR冻结库存和MB1B+344从非限制到冻结区别?
- Hashtable与Dictionary
- dbscan算法_DBSCAN聚类算法探索
- 微软人工智能和对话平台--知识商城体验
- 使用浏览器获取网页模板(HTML+CSS)
- python tfidf特征变换_使用sklearn提取文本的tfidf特征
- 如何使用alt键+数字键盘上的数字键打出特殊符号
- js扁平数组对象转成树结构
- 怎么在mac下运行映像dmg_如何将Apple Mac OS X系统DMG镜像文件转换成ISO镜像文件呢?...
- 华为云计算HCIE学习笔记-FusionCompute
- 推荐书、网站(大多为计算机相关)
- 操作系统笔记(1.5w字耐心整理)
- 小米天气api html,小米天气app
- 街霸 隆(Ryu)升龙拳(Syoryuken)动画(四)制作过程中几个版本动画比较一下
- Elliptic Labs 与世界领先的笔记本电脑OEM签署首份企业软件许可合同
- 【RAII 思想】RAII 基本概念(一种思想)
- 2021-04-24
- AHCI VS IDE 把我整疯了。。。