Springboot发送邮件教程
邮箱设置
在自己的邮箱中启用客户端SMTP服务
Spring Email
导入 jar 包
邮箱参数配置
使用 JavaMailSender 发送邮件
模板引擎
使用 Thymeleaf 发送 HTML 邮件
1 自行前往自己的邮箱进入设置并开启邮箱pop3/SMTP服务( 以新浪邮箱为例)
1.1 注册邮箱(这个不用我教了吧),记住用户名
1.2 找到设置里面的 客户端pop/imap/smtp 设置, 客户端授权码开启,并记住授权码,POP3/SMTP服务开启.
2导入相关jar包
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId><version>2.3.7.RELEASE</version>
</dependency>
3配置相关的邮箱参数
#MailProperties
spring.mail.host=smtp.sina.comspring.mail.port=自己的邮箱端口号(新浪邮箱端口号为465,其他邮箱发送端口号去百度查下)
spring.mail.username=自己的邮箱账户
spring.mail.password=填写之前获取的授权码
spring.mail.protocol=smtps
spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.properties.smtp.auth=true
4使用javaMailSender发送邮件
首先将发送邮件的逻辑封装,以便反复使用,新建一个工具包util,并在包下新建一个工具类MailClient
@Component
public class MailClient {private static final Logger logger= LoggerFactory.getLogger(MailClient.class);@Autowiredprivate JavaMailSender mailSender;// 你的邮箱账户@Value("${spring.mail.username}")private String from;// 参数说明:to 目标邮箱地址;subject 邮件主题;content 邮件内容public void sendMail(String to,String subject,String content){try {MimeMessage message=mailSender.createMimeMessage();MimeMessageHelper helper=new MimeMessageHelper(message);helper.setFrom(from);helper.setTo(to);helper.setSubject(subject);helper.setText(content,true);mailSender.send(helper.getMimeMessage());} catch (MessagingException e) {logger.error("发送邮件失败:"+e.getMessage());}}
}
在测试类中进行测试发送文本邮件
@Autowiredprivate MailClient mailClient;@Autowiredprivate TemplateEngine templateEngine;@Testpublic void testTextMail(){mailClient.sendMail("******@******.edu.cn","TEST","Welcome.");}
Springboot发送邮件教程相关推荐
- (转) SpringBoot非官方教程 | 第二篇:Spring Boot配置文件详解
springboot采纳了建立生产就绪spring应用程序的观点. Spring Boot优先于配置的惯例,旨在让您尽快启动和运行.在一般情况下,我们不需要做太多的配置就能够让spring boot正 ...
- springboot 入门教程(4)--web开发(spring mvc和Thymeleaf模板,带源码)
2019独角兽企业重金招聘Python工程师标准>>> 首先回顾下前几篇的内容:springboot 入门教程(1),springboot 入门教程-Thymeleaf(2), sp ...
- SpringBoot 发送邮件功能实现
背景 有个小伙伴问我你以前发邮件功能怎么弄的.然后我就给他找了个demo,正好在此也写一下,分享给大家. 理清痛点 发送邮件,大家可以想一下,坑的地方在哪? 我觉得是三个吧. 第一:邮件白名单问题. ...
- Java工程师之SpringBoot系列教程前言目录
前言 与时俱进是每一个程序员都应该有的意识,当一个Java程序员在当代步遍布的时候,你就行该想到我能多学点什么.可观的是后端的框架是稳定的,它们能够维持更久的时间在应用中,而不用担心技术的更新换代.但 ...
- SpringBoot非官方教程 | 第一篇:构建第一个SpringBoot工程
转载请标明出处: http://blog.csdn.net/forezp/article/details/70341651 本文出自方志朋的博客 简介 spring boot 它的设计目的就是为例 ...
- SpringBoot非官方教程 | 第二十六篇: sprinboot整合elk,搭建实时日志平台
转载请标明出处: 原文首发于https://www.fangzhipeng.com/springboot/2017/07/11/sprinboot25-elk/ 本文出自方志朋的博客 这篇文章主要介绍 ...
- SpringBoot图文教程4—SpringBoot 实现文件上传下载(亲测)
SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+案例 思维导图」「基础篇上」 SpringBoot图文教程2-日志的使用「logback」「log4j」 Spring ...
- SpringBoot图文教程9—SpringBoot 导入导出 Excel 「Apache Poi」(亲测)
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 来源:Springboot使用POI实现导出Excel文件示例的搜索结果-阿里云开 ...
- SpringBoot入门教程
SpringBoot入门教程 1.Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案. 2.微服务 微服务:架构风格 ...
最新文章
- ORACLE11g中创建裸设备
- linux从i2c读取变量,I2C子系统之__I2C_first_dynamic_bus_num变量的相关分析
- python习题:写一个备份数据库的脚本
- android配置文件说明
- java --replaceAll方法
- python填表_小Python填表得到d
- 每日一题20180330-Linux
- 草稿 datagridview的显示与修改
- Unit Test单元测试时如何模拟HttpContext
- 【Elasticsearch】es 插入数据 性能优化 以及 影响插入的因素
- QT 实现采集即时音频信号并发送至另一台电脑播放
- 学堂在线体育与社会作业答案(武汉体育学院)(学堂在线)网课搜题
- 8分钟腹肌锻炼日志(第20天)过冬ing
- 导航卫星系统实时可视化平台开发
- websocket 技术文档
- 如何设计一个高并发系统架构
- DDD(领域驱动设计)系列主题:领域和子域
- 基于MindSpore的MASS网络实现
- 从电报到5G,细说60年移动通信史的7个变革
- 使用RestCloud ETL实现增量数据实时同步