引入依赖
<!-- 邮件发送支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
<version>1.5.9.RELEASE</version>
</dependency>
本身Javamail自带配置类,所以只需要配置yml文件即可
self:
system:
templateurl: E:\txtttt.html
savePath: E:\save.html
spring:
mail:
# 邮件服务地址
host: smtp.163.com
# 端口,可不写默认
port: 25
# 编码格式
default-encoding: utf-8
# 用户名
username: xxx@163.com
# 授权码
password: xxxx
addr: xxxx@163.com
# 其它参数
properties:
mail:
smtp:
# 如果是用 SSL 方式,需要配置如下属性,使用qq邮箱的话需要开启
ssl:
enable: true
required: true
# 邮件接收时间的限制,单位毫秒
timeout: 10000
# 连接时间的限制,单位毫秒
connectiontimeout: 10000
# 邮件发送时间的限制,单位毫秒
writetimeout: 10000
接口
import java.util.Map;
/**
* 邮件发送接口
* @Author: yangchangliang
* @Date: 2020-11-18 8:45
* @Version: 1
*/
public interface MailSendService {
/**
* 发送普通邮件
*
* @param to 收件人
* @param subject 主题
* @param content 内容
*/
void sendSimpleMail(String to, String subject, String content);
/**
* 发送 HTML 邮件
*
* @param to 收件人
* @param subject 主题
* @param content 内容
*/
void sendHtmlMail(String to, String subject, String content);
/**
* 发送带附件的邮件
*
* @param to 收件人
* @param subject 主题
* @param content 内容
* @param filePath 附件路径
*/
void sendAttachmentsMail(String to, String subject, String content, String filePath);
/**
* 发送带静态文件的邮件
*
* @param to 收件人
* @param subject 主题
* @param content 内容
* @param rscIdMap 需要替换的静态文件
*/
void sendMimeMessage(String to, String subject, String content, Map<String, String> rscIdMap);
/**
* 从本地构建HTML发送到邮箱
*/
void sendMail();
/**
* 替换内容
*/
void changeContent();
}
实现类
import com.gzaisino.project.email.service.MailSendService;
import com.gzaisino.project.email.util.CombinationTemplate;
import org.apache.commons.lang3.StringUtils;
import org.slf4j