spring官方提供了spring-boot-starter-mail来整合邮件发送功能,本质上还是利用了JavaMailSender类。

首先我们要在项目中引入相关依赖

  1. <parent >
  2. <groupId> org.springframework.boot </groupId >
  3. <artifactId> spring-boot-starter-parent </artifactId>
  4. <version>1.4.1.RELEASE</version>
  5. </parent >
  6. <dependencies>
  7. <!--邮件发送功能依赖-->
  8. <dependency>
  9. <groupId>org.springframework.boot</groupId>
  10. <artifactId>spring-boot-starter-mail</artifactId>
  11. </dependency>
  12. <!--测试依赖-->
  13. <dependency>
  14. <groupId>org.springframework.boot</groupId>
  15. <artifactId>spring-boot-starter-test</artifactId>
  16. </dependency>
  17. </dependencies>
  18. </project>

application.yml配置如下

  1. spring:
  2. mail:
  3. protocol: smtp #smtp是邮件发送协议,pop3和imap是邮件接收协议。因为我们要发送邮件,因此是smtp
  4. host: smtp.126.com #邮件发送服务器的主机,这里采用的是126邮箱来发送邮件
  5. port: 25 #邮件发送服务器的端口
  6. auth: true #一般情况下,发送邮件都是要进行验证
  7. username: tianshouzhi@126.com #邮件发送服务器的用户名
  8. password: your password #密码

新建com.tianshouzhi.springboot.Application类

  1. @SpringBootApplication
  2. public class Application {
  3. public static void main(String[] args) {
  4. SpringApplication.run(Application.class,args);
  5. }
  6. }

新建测试类EmailTest

  1. @RunWith(SpringJUnit4ClassRunner. class)
  2. @SpringBootTest(classes=Application. class)
  3. public class EmailTest {
  4. @Autowired
  5. private JavaMailSender javaMailSender;
  6. @Test
  7. public void testSend(){
  8. SimpleMailMessage message = new SimpleMailMessage();
  9. message.setFrom("tianshouzhi@126.com");//发送者.
  10. message.setTo("592144098@qq.com");//接收者.
  11. message.setSubject("测试邮件(邮件主题)");//邮件主题.
  12. message.setText("这是邮件内容");//邮件内容.
  13. javaMailSender.send(message);//发送邮件
  14. }
  15. }

这里是通过126邮箱发送给qq邮箱。发送效果如下:

这里列出常见的几个邮件服务器的相关信息。因为我们是发送邮件,只需要关注smtp协议即可。

163邮箱的收取邮件支持POP/IMAP两种协议,发送邮件采用SMTP协议,收件和发件均使用SSL协议来进行加密传输,采用SSL协议需要单独对帐户进行设置。采用SSL协议和非SSL协议时端口号有所区别,参照下表的一些常见配置组合:

3.4 SpringBoot发送邮件的更多相关文章

  1. SpringBoot 发送邮件功能实现

    背景 有个小伙伴问我你以前发邮件功能怎么弄的.然后我就给他找了个demo,正好在此也写一下,分享给大家. 理清痛点 发送邮件,大家可以想一下,坑的地方在哪? 我觉得是三个吧. 第一:邮件白名单问题. ...

  2. 记录一次简单的springboot发送邮件功能

    场景:经常在我们系统中有通过邮件功能找回密码,或者发送生日祝福等功能,今天记录下springboot发送邮件的简单功能 1.引入maven <!-- 邮件开发--><dependen ...

  3. 1.使用javax.mail, spring的JavaMailSender,springboot发送邮件

    一.java发邮件 电子邮件服务器:这些邮件服务器就类似于邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中,按功能划分有两种类型 SMTP邮件服务器:用户替用户发送邮件和接 ...

  4. (入门SpringBoot)SpringBoot发送邮件(十一)

    SpringBoot配置邮件服务: 1.引入jar <!-- 邮件 --> <dependency>    <groupId>org.springframework ...

  5. springboot发送邮件,以及携带邮件附件简单使用

    可以通过springboot官方文档中Sending Email,找到类似如下java mail的使用文档 https://docs.spring.io/spring/docs/5.1.9.RELEA ...

  6. 【快学springboot】使用springboot发送邮件

    前言 在实际项目中,经常需要用到邮件通知功能.比如,用户通过邮件注册,通过邮件找回密码等:又比如通过邮件发送系统情况,通过邮件发送报表信息等等,实际应用场景很多.这篇文章,就教大家通过springbo ...

  7. 使用 FreeMarker模板 Springboot 发送邮件

    四.使用 FreeMarker模板 HTML 标签的字符串拼接是一件很棘手的事.因为在你的大脑中解析HTML标签并想象它在渲染时会是什么样子是挺困难的.而将HTML混合在Java代码中又会使得这个问题 ...

  8. 最简单的 springboot 发送邮件,使用thymeleaf模板

    1,导入需要的包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g ...

  9. springboot发送邮件

    1.在发送端邮箱平台开通SMTP服务 1)以163邮箱为例: step 1: step 2: 2.编写代码: 1)添加发送邮箱maven依赖 <dependency> <groupI ...

随机推荐

  1. Docker入门讲解

    1:容器重命名 [root@Docker ~]#docker run --name test_container -i -t centos /bin/bash[root@3ba67c6cf3f8 /] ...

  2. CentOS7安装OpenStack(Rocky版)-03.安装Glance镜像服务组件(控制节点)

    上篇文章分享了keystone的安装配置,本文接着分享openstack的镜像服务glance. --------------- 完美的分割线 ---------------- 3.0.glance概 ...

  3. Android manifest 获取源代码

    /********************************************************************************* * Android manifes ...

  4. 记一次MSSQL到MySQL大数据迁移过程

    工作中遇到一个需求 要将MSSQL数据库中共计12张表的数据大概1000W行数据迁移到MySQL数据库中,去年另一个同事负责这件事情,他采用的方法是先将MSSQL数据库里的数据生成同MySQL数据库表 ...

  5. STM32 外部中断

    1)STM32一般有19 个外部中断为: 线 0~15:对应外部 IO 口的输入中断.线 16:连接到 PVD 输出. 线 17:连接到 RTC 闹钟事件. 线 18:连接到 USB 唤醒事件. 2) ...

  6. [LeetCode&Python] Problem 461. Hamming Distance

    The Hamming distance between two integers is the number of positions at which the corresponding bits ...

  7. Loj 2008 小凸想跑步

    Loj 2008 小凸想跑步 \(S(P,p_0,p_1)<S(P,p_i,p_{i+1})\) 这个约束条件对于 \(P_x,P_y\) 是线性的,即将面积用向量叉积表示,暴力拆开,可得到 \ ...

  8. Microsoft - Union Two Sorted List with Distinct Value

    Union Two Sorted List with Distinct Value Given X = { 10, 12, 16, 20 } &  Y = {12, 18, 20, 22} W ...

  9. 【转】每天一个linux命令(36):diff 命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/12/12/2814048.html diff 命令是 linux上非常重要的工具,用于比较文件的内容,特 ...

  10. md5,base64,rsa

    MD5功能:    输入任意长度的信息,经过处理,输出为128位的信息(数字指纹):    不同的输入得到的不同的结果(唯一性):    根据128位的输出结果不可能反推出输入的信息(不可逆): 1. ...