SpringBoot如何实现发送邮件的极速入门与实践?
摘要:一、Email前言介绍 邮件发送业务,是很多公司都有的,本博客介绍一下基于SpringBoot的邮件发送功能,邮箱服务基于腾讯QQ邮箱 SpringBoot的肯定有很多场景启动器starter,SpringBoot官方提供了spring-b
目录一、Email前言介绍二、Email例子实践2.1 开发实验环境准备2.2 Meavn配置文件2.3 application配置2.4 发送文本格式邮件2.5 发送Html格式邮件2.6 发送html内嵌图片2.7 发送模板html邮件2.8 发送Attachment邮件
一、Email前言介绍
邮件发送业务,是很多公司都有的,本博客介绍一下基于SpringBoot的邮件发送功能,邮箱服务基于腾讯QQ邮箱
SpringBoot的肯定有很多场景启动器starter,SpringBoot官方提供了spring-boot-starter-mail作为邮件服务的场景启动器
二、Email例子实践
2.1 开发实验环境准备
JDK 1.8
SpringBoot2.2.1
Maven 3.2+
开发工具
IntelliJ IDEA
smartGit
创建一个SpringBoot Initialize项目,详情可以参考我之前博客:SpringBoot系列之快速创建项目教程
2.2 Meavn配置文件
配置spring-boot-starter-mail:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
配置Thymeleaf模板引擎
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
lombok,非必须,只是不想写bean类的set,get
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
2.3 application配置
新建application.yml,注意password在QQ邮箱里不是邮箱密码,需要去申请SMTP服务给的secret
spring:
mail:
host: smtp.qq.com
username: your_emial@qq.com
password: cmlebzqdtvejdibe
default-encoding: utf-8
向腾讯申请secret:
网易163邮箱的配置:
spring:
mail:
host: smtp.163.com
username: your163account@163.com
password: your163password
default-encoding: utf-8
2.4 发送文本格式邮件
Email DTO类:
package com.example.springboot.email.bean;
import lombok.Data;
/**
* <pre>
* EmailDto
* </pre>
*
* <pre>
* @author mazq
* 修改记录
* 修改后版本: 修改人: 修改日期: 2020/07/22 16:26 修改内容:
* </pre>
*/
@Data
public class EmailDto {
/**
* 发送对象
*/
private String sendTo;
/**
* 发送主题
*/
private String subject;
/**
* 邮件内容
*/
private String content;
/**
