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

org.springframework.mail.javamail.JavaMailSender

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

0、你所需具备的基础

更多请在Java技术栈微信公众号后台回复关键字:boot。

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 实例而已,然后你就可以注入使用了。

本文原创首发于微信公众号:Java技术栈(id:javastack),关注公众号在后台回复 "boot" 可获取更多,转载请原样保留本信息。

1 分钟教会你用 Spring Boot 发邮件的更多相关文章

  1. 从spring boot发邮件聊到开发的友好性

    前些天帮一个朋友做网站,全站都是静态页面,唯一需要用到后端开发的是他需要一个留言板.传统的留言板一般都是提交后保存到数据库,然后提供一个后台的留言列表给管理人员看,我嫌麻烦,就决定留言提交到后台直接发 ...

  2. spring boot 发邮件

    报错:  Mail server connection failed; nested exception is javax.mail.MessagingException: Could not con ...

  3. 一分钟搞定:spring boot 热部署 (基于Idea)

    什么是热部署? 对于spring boot项目,修改后台的java类,不要重启整个项目,就可以测试/使用刚修改的功能! 怎么为项目添加/设置热部署 maven项目在pom.xml添加下方代码,联网引入 ...

  4. 5分钟学会如何创建spring boot项目

    上一篇博客说了如何创建spring boot项目,但是有些同学会觉得有点麻烦,有没有什么快速学会能快速创建spring boot项目的方法,答案是肯定的.接下来我们就一起来快速创建一个spring b ...

  5. spring boot发简单文本邮件

    首先要去邮箱打开POP3/SMTP权限: 然后会提供个授权码,用来发送邮件.忘记了,可以点生成授权码再次生成. 1.引入spring boot自带的mail依赖,这里版本用的:<spring-b ...

  6. Spring Boot整合邮件发送

    概述 Spring Boot下面整合了邮件服务器,使用Spring Boot能够轻松实现邮件发送:整理下最近使用Spring Boot发送邮件和注意事项: Maven包依赖 <dependenc ...

  7. spring boot + activeMq 邮件服务

    引入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>s ...

  8. Spring Boot :邮件服务

    简单使用 1.pom 包配置 pom 包里面添加 spring-boot-starter-mail 包引用 <dependencies> <dependency> <gr ...

  9. spring boot(十)邮件服务

    springboot仍然在狂速发展,才五个多月没有关注,现在看官网已经到1.5.3.RELEASE版本了.准备慢慢在写写springboot相关的文章,本篇文章使用springboot最新版本1.5. ...

随机推荐

  1. css设置文本自动换行

    .wrap-90 { display: inline-block; word-wrap: break-word;//对块级元素设置此属性 width: 90px;}

  2. 构建你的spring boot代码

    Spring boot不需要任何特定的代码布局来工作.然而,有一些最佳实践可以帮助您. 1.避免使用缺省包 当一个类不包含包声明时,它被认为是在“缺省包”中.“默认包”的使用通常是不鼓励的,应该避免. ...

  3. Springboot & Mybatis 构建restful 服务二

    Springboot & Mybatis 构建restful 服务二 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务一 2 restful ...

  4. python的文件读写笔记

    读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...

  5. C++题解:Matrix Power Series ——矩阵套矩阵的矩阵加速

    Matrix Power Series r时间限制: 1 Sec 内存限制: 512 MB 题目描述 给定矩阵A,求矩阵S=A^1+A^2+--+A^k,输出矩阵,S矩阵中每个元都要模m. 数据范围: ...

  6. mvc开发网站打开慢总结

    开始学习mvc开发网站的时候,看了传智博客的视频教程,其中学习了一个和牛逼的框架,开始激动的深入学习,学完后却发现其实那套框架太重并不适合一些中小型的网站开发,并且也使用导航属性关联外键,导致打开网站 ...

  7. jasperreports实现pdf文档的生成

    1.导入jar包(pom.xml构建) <dependencies> <dependency> <groupId>com.lowagie</groupId&g ...

  8. now

  9. Solr Cloud

    bin/solr start -cloud -s example/cloud/node1/solr -p 8983 -z node13:2181,node14:2181,node15:2181/usr ...

  10. css3等待框

    第1种效果: <div class="loading"> <span></span> <span></span> < ...