SpringBoot整合Java Mail实现发送邮件
实现
引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
发送邮件配置
这里使用qq邮箱发送邮件,需要开启qq邮箱的smtp服务,同时需要拿到授权码。
如果不知道怎么开启服务和获取授权码,可以点击文章末尾的参考文章了解。
spring:
application:
name: send-mail
mail:
host: smtp.qq.com
port: 587
protocol: smtp
username: xxxxx@qq.com
password: ybfbprpciavceaig #password就是授权码
default-encoding: UTF-8
test-connection: true
properties:
smtp:
auth: true
starttls:
enable: true
邮件发送事件
在需要发送邮件的地方,发布这个事件即可。
public class SendEmailEvent extends ApplicationEvent {
private String subject;
private List<String> to;
private String content;
private List<File> files;
private String from;
public SendEmailEvent(Object source, String subject, List<String> to, String content, List<File> files, String from) {
super(source);
this.to =to;
this.content = content;
this.files = files;
this.subject = subject;
this.from = from;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public List<String> getTo() {
return to;
}
public void setTo(List<String> to) {