Spring Boot 提供了一个发送邮件的简单抽象,使用的是下面这个接口。

org.springframework.mail.javamail.JavaMailSender

Spring Boot 提供了一个 starter,并能自动配置,下面来做个小例子,顺便解析它做了什么工作。

0、你所需具备的基础

  • 什么是 Spring Boot?
  • Spring Boot 核心配置文件详解
  • Spring Boot 开启的 2 种方式
  • Spring Boot 自动配置原理、实战
  • Spring Boot 2.x 启动全过程源码分析

1、添加依赖

在 Maven pom.xml 配置文件中加入 spring-boot-starter-mail 依赖。

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

2、添加配置参数

然后在 application.properties 文件中加入以下配置。

spring.mail.host=smtp.exmail.qq.com
spring.mail.username=admin@javastack.cn
spring.mail.password=123456# 启动SSL时的配置
spring.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.smtp.socketFactory.fallback=false
spring.mail.smtp.socketFactory.port=465

3、一个简单的发送邮件例子

写一个控制器,写一个简单的发送邮件的小例子,发送成功返回 true,发送失败返回 false

@Autowired
private JavaMailSender javaMailSender;@RequestMapping("/sendEmail")
@ResponseBody
public boolean sendEmail() {SimpleMailMessage msg = new SimpleMailMessage();msg.setFrom("admin@javastack.cn");msg.setBcc();msg.setTo("admin@javastack.cn");msg.setSubject("Java技术栈投稿");msg.setText("技术分享");try {javaMailSender.send(msg);} catch (MailException ex) {System.err.println(ex.getMessage());return false;}return true;
}

4、自动配置都做了什么?

Spring Boot 发现类路径下有这个 spring-boot-starter-mail 包和 spring.mail.host 参数就会自动配置 JavaMailSenderImpl

上面那些 spring.mail.xx 参数用来装配 MailProperties 这个类。

org.springframework.boot.autoconfigure.mail.MailProperties

自动配置类:

org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration

org.springframework.boot.autoconfigure.mail.MailSenderPropertiesConfiguration

其实就是用了上面装配的参数注册了一个 JavaMailSenderImpl 实例而已,然后你就可以注入使用了。

spring boot 邮件端口_1 分钟教会你用 Spring Boot 发邮件相关推荐

  1. 1 分钟教会你用 Spring Boot 发邮件

    Spring Boot 提供了一个发送邮件的简单抽象,使用的是下面这个接口. org.springframework.mail.javamail.JavaMailSender Spring Boot ...

  2. 19.12 添加自定义监控项目 19.13/19.14 配置邮件告警 19.15 测试告警 19.16 不发邮件的问题处理...

    2019独角兽企业重金招聘Python工程师标准>>> 提示:开始本节内容之前有必要先做好快照!!! 19.12 添加自定义监控项目 该配置的用途是监控模板中没有的监控项目. 需求: ...

  3. python发邮件主机找不到_Python 使用QQ邮箱发邮件

    QQ邮箱太恶心了.经常改验证方式 阿福最近的脚本不能用了,研究了一上午. 终于研究出来了. def sendmail(data): content = data['content'] msg = MI ...

  4. 只能发邮件不能接受_《GTA5》R星发邮件问候玩家会发生什么?以下操作一个也别碰...

    GTA5是一款被神仙毁掉的游戏,当然这里指的是线上模式,当你正想要去线上干一番大事的时候,却被神仙玩家搞的心态全无,其实很多玩家都有同样的遭遇,面对这种情况我们只能默默的点开举报,然后静静的等待即可, ...

  5. SQLSERVER 数据库邮件发送以表格形式发送(存储过程内容发邮件)

    SQLSERVER 数据库邮件发送以表格形式发送 直接开始不哔哔! 一.数据库配置(以图文展现) 1.以sa或者windows身份登录数据库 2.选择数据库管理下面的数据库邮件: 3.选择数据库邮件左 ...

  6. linux 发邮件给用户,Linux学习之给指定用户发邮件

    发送邮件 进入 mail 程序后的操作都很简单,但是可以不进入 mail 的 & 操作提示符界面,下面举几个实用例子: 1.给 snailwarrior@qq.com 发信 [root@pps ...

  7. 哪种邮件群发软件最好用?不骗人,能免费发邮件.群发邮件进收件箱.

    转自: http://www.sendmaillist.com/ask/article-good-send-mail.html 前言 很多人看到这个标题会认为,这可能吗?我告诉你是完全可能的,前提是要 ...

  8. 同战网不同服务器发邮件,坑爹的新邮件系统:暴雪悄悄设定发邮件数量上限 - 178魔兽世界专区...

    新年到了,各位玩家们是否打算给自己游戏里的朋友们都邮寄上一点小礼物以祝贺新年快乐呢?各位公会会长们是不是也打算通过发邮件的方式给会员们每人包个红包庆贺新年呢? 很可惜,在大灾变里,除非你打算邮寄礼物的 ...

  9. 转换文档参数_1分钟教会你将Excel转换成Word,简单高效,办公人士必备神技

    现在不管是在学习上还是工作中,我们和Word文档.Excel表格的接触是越来越多了.有一些小伙伴在用Excel做完表格数据以后,有的时候会因为便于查看等等原因需要用Word打开Excel表格.这时候我 ...

最新文章

  1. 【解决方案】分布式定时任务解决方案
  2. iOS项目功能模块封装SDK使用总结
  3. C# 使用Task执行异步操作
  4. $(obj).each 和 $.each() 区别
  5. paip.提高用户体验----c++图片按钮方法总结
  6. 从弧长的计算到逆时针与顺时针旋转的定义 (二维空间)
  7. 前端使用goeasy
  8. 一加8 pro 刷入 kali Hunter
  9. 关于protel 99 SE如何建立自己的元件库,导入Sch文件file is not recognized.
  10. detectron2 学习笔记
  11. 上亿海量数据处理方法
  12. 华为数通Hcia 1、通信基础
  13. 二手市场回收基于微信小程序和app两种应用开发uniapp
  14. 《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——第3章 数据流 3.1同步数据流...
  15. SSD《一》-- 基础知识
  16. 奇偶校验(附代码实现)
  17. pcm5102a解码芯片音质评测_200元苹果airpods超强平替,新品JEET ONE蓝牙耳机开箱评测!...
  18. Python learning- Lists Dictionaries
  19. 计算机有公式编辑器吗,MathType
  20. SCCM 2007 R2 setp by setp(七)-安装SCCM

热门文章

  1. Oracle集合数据类型的比较
  2. [整理]ADB命令行学习笔记
  3. bootstrap基础
  4. 解决cookie跨域访问
  5. 145.单工、半单工、双工
  6. 133.保护频带 134.流量控制在哪些层实现
  7. MKL25Z128 Cortex-M0微处理器架构定义的存储器映射
  8. 牛逼哄哄的SLAM技术即将颠覆哪些领域
  9. php redis消息队列用哪种好,phpredis提高消息队列的实时性方法(推荐)
  10. 服务器响应时延,服务器响应时延