1.邮箱设置
启用客户端SMTP服务
2.Spring Email
导入依赖
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-mail -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
<version>2.4.2</version>
</dependency>
邮箱参数配置
配置host 、port、username、password、protocol、ssl
在下用的是网易邮箱,其他邮箱的配置可以自行百度
spring:
mail:
host: smtp.126.com #发送邮件服务器
username: xx@126.com #网易邮箱
password: xxxxxxxx #客户端授权码
protocol: smtp #发送邮件协议
properties.mail.smtp.auth: true
properties.mail.smtp.port: 994 #465或者994
properties.mail.display.sendmail: aaa #可以任意
properties.mail.display.sendname: bbb #可以任意
properties.mail.smtp.starttls.enable: true
properties.mail.smtp.starttls.required: true
properties.mail.smtp.ssl.enable: true #开启SSL
default-encoding: utf-8
from: xx@126.com
使用JavaMailSender发送邮件
@Component
public class MailClient {
@Resource
private JavaMailSender javaMailSender;
@Value("${spring.mail.username}")
private String from;
public void sendMail(String to, String subject, String content){
try {
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage);
mimeMessageHelper.setFrom(this.from);
mimeMessageHelper.setTo(to);
mimeMessageHelper.setSubject(subject);
mimeMessageHelper.setText(content, true);
javaMailSender.send(mimeMessageHelper.getMimeMessage());
}catch (Exception e){
System.out.println("fail send mail! "+ e.getMessage());
}
System.out.println("success send mail");
}
}
3.模板引擎
使用thymeleaf发送html邮件
注入templateEngine,编写邮件模板