SpringBoot中整合Mail实现发送邮件
场景
项目搭建专栏:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/35688
实现最简单的带标题以及文本内容的邮件发送。使用qq邮件服务器。
实现
项目中引入邮件依赖
<!-- 邮件依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>
找到项目的全局配置文件application.properties
将username改为要发送邮件的账号,这里是qq邮箱账号
下面password设置为qq邮箱的授权码
#JavaMail邮件发送的配置
#指明邮件发送服务器 如果是163的则为smtp.163.com
spring.mail.host=smtp.qq.com
spring.mail.username=
#授权码qq邮箱需要设置并获取授权码 163则直接为邮箱密码
spring.mail.password=
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
qq邮箱设置授权码:
qq邮箱--设置--账户--POP3/SMTP服务
开启服务后就会获得qq的授权码
在项目下新建email包
在email包下新建配置类实现从全局配置文件中获取自定义属性
package com.example.demo.email;import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class EmailConfig {@Value("${spring.mail.username}")private String emailFrom;public String getEmailFrom() {return emailFrom;}public void setEmailFrom(String emailFrom) {this.emailFrom = emailFrom;}}
新建接口EmailService,有一个发送邮件的方法。
package com.example.demo.email;import org.springframework.stereotype.Service;@Service
public interface EmailService {void sendSimpleMail(String senfTo,String title,String content);
}
新建接口实现类
package com.example.demo.email;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;
@Service
public class EmailServiceImpl implements EmailService {@Autowiredprivate EmailConfig emailConfig;@Autowiredprivate JavaMailSender mailSender;@Overridepublic void sendSimpleMail(String sendTo, String title, String content) {//简单邮件的发送SimpleMailMessage message = new SimpleMailMessage();message.setFrom(emailConfig.getEmailFrom());message.setTo(sendTo);message.setSubject(title);message.setText(content);mailSender.send(message);}}
通过SimpleMailMessage 设置要发送邮件的账号以及标题和内容。
然后使用JavaMailSender 实现发送邮件。
新建controller实现测试邮件发送。
package com.example.demo.email;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class EmailController {@Autowiredprivate EmailService emailService;@RequestMapping("simpleEmail")@ResponseBodypublic String sendSimpleEmail() {emailService.sendSimpleMail("****@qq.com", "测试", "简单邮件");return "success";}
}
sendSimpleMail方法第一个参数就是要发送的邮箱账号。
项目启动类下添加此包为可扫描。
@SpringBootApplication(scanBasePackages= {"com.example.demo.controller","com.example.demo.service","com.example.demo.interceptor","com.example.demo.handler","com.example.demo.job","com.example.demo.email"})
启动项目,访问
http://localhost:8080/simpleEmail
可以看到浏览器返回success,然后收到邮件。
效果
源码下载
https://download.csdn.net/download/badao_liumang_qizhi/11114781
SpringBoot中整合Mail实现发送邮件相关推荐
- SpringBoot中整合Mail实现发送模板邮件
场景 项目搭建专栏: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/35688 实现最简单的带标题以及文本内容的邮件发送: https:/ ...
- SpringBoot中整合Mail实现发送带附件的邮件
场景 项目搭建专栏: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/35688 实现最简单的带标题以及文本内容的邮件发送: https:/ ...
- springboot中整合mybatis及简单使用
springboot中整合mybatis及简单使用 1.引入依赖 2.在applicaiton.yaml中配置数据源以及mybatis 3.创建sql测试表 4.编写mapper接口和mapper.x ...
- 【SpringBoot】43、SpringBoot中整合RabbitMQ实现延时队列(延时插件篇)
死信队列实现篇,参考文章:[SpringBoot]60.SpringBoot中整合RabbitMQ实现延时队列(死信队列篇) 一.介绍 1.什么是延时队列? 延时队列即就是放置在该队列里面的消息是不需 ...
- 在SpringBoot中整合使用Netty框架提供WebSocket服务
在SpringBoot中整合使用Netty框架 Netty是一个非常优秀的Socket框架.如果需要在SpringBoot开发的app中,提供Socket服务,那么Netty是不错的选择. Netty ...
- 【SpringBoot】44、SpringBoot中整合JWT实现Token验证(整合篇)
什么是JWT? Json web token (JWT),是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准((RFC 7519),该 token 被设计为紧凑且安全的,特别适用于分 ...
- 【SpringBoot】22、SpringBoot中整合knife4j接口文档
在项目开发中,web项目的前后端分离开发,APP开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这个接口文档进行开发,到项目结束前都要一直维护 接口文档使得项目开发过程中前后端工程师 ...
- 【SpringBoot】3、SpringBoot中整合Thymeleaf模板引擎
SpringBoot 为我们提供了 Thymeleaf 自动化配置解决方案,所以我们在 SpringBoot 中使用 Thymeleaf 非常方便 一.简介 Thymeleaf是一个流行的模板引擎,该 ...
- exchange无法收发邮件_SpringBoot2.x系列教程69--SpringBoot中整合Mail实现邮件发送
SpringBoot2.x系列教程69--SpringBoot中整合邮件发送 作者:一一哥 注: 本文案例以QQ邮箱发送的实现为例! 一. 邮件发送概述 1. 概述 在Spring框架中提供了一个Ja ...
最新文章
- 硬核!Python 四种变量的代码对象和反汇编分析
- 新站长更要努力做好SEO相关的优化
- linux组手机nas,linux 搭建nas服务器
- 上清华到底有多难?清华大学保送生的数学试题了解一下
- tensorrt安装_基于TensorRT的BERT推断加速与服务部署
- Eclipse-class文件中文乱码
- hdu1711 Number Sequence kmp模板
- nc加载不了java,用友NC系统使用过程中常见问题和解决方法
- Mac下Idea快捷键总结(不断更新)
- 最小生成树——贪心算法
- Oracle“ ORA-12162:TNS:net服务名称指定不正确”错误和解决方案
- java 正则表达式match_详解正则表达式匹配方法 match()
- 威廉玛丽学院计算机专业,威廉玛丽学院CS排名2020年掌握的流程盘点
- 比较横截面与时间序列的因子模型
- Spring AOP 之 Introductions
- 红米k50至尊版和小米12spro区别 哪个好
- 零基础制作【武林外传】辅助工具(一)
- Python 凯撒密码
- 金蝶中间件AAS无法访问管理平台提示404
- python 生成随机邮箱
热门文章
- 肖邦夜曲21_原装进口 | 肖邦夜曲全集 鲁宾斯坦 钢琴经典 2CD
- list set map 各自实现类的区别以及它们的底层原理和实现(部分)
- 公众号知道我浏览他吗_微信公众平台文章能看到访客吗?
- java虚成员函数_Java常见知识点汇总(④)——虚函数、抽象函数、抽象类、接口...
- sqlserver exec查询存储过程取某一个字段_ORC文件存储格式的深入探究
- 来电通java版_我的世界基岩版1.19正式版下载-我的世界基岩版1.19下载手机版v1.19...
- mysql创建读写账号_mysql创建读写账号及服务相关优化配置
- jq 直接调用php文件_js调用php和php调用js的方法举例
- 除硬件外计算机系统不可缺少的是,除硬件外,计算机系统不可缺少的另外一部分是( )。...
- Tensorflow-Estimator-自定义估算器