-
邮箱设置
-
在自己的邮箱中启用客户端SMTP服务
-
-
Spring Email
-
导入 jar 包
-
邮箱参数配置
-
使用 JavaMailSender 发送邮件
-
-
模板引擎
-
使用 Thymeleaf 发送 HTML 邮件
-
1 自行前往自己的邮箱进入设置并开启邮箱pop3/SMTP服务( 以新浪邮箱为例)
1.1 注册邮箱(这个不用我教了吧),记住用户名
1.2 找到设置里面的 客户端pop/imap/smtp 设置, 客户端授权码开启,并记住授权码,POP3/SMTP服务开启.
2导入相关jar包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
<version>2.3.7.RELEASE</version>
</dependency>
3配置相关的邮箱参数
#MailProperties
spring.mail.host=smtp.sina.com
spring.mail.port=自己的邮箱端口号(新浪邮箱端口号为465,其他邮箱发送端口号去百度查下)
spring.mail.username=自己的邮箱账户
spring.mail.password=填写之前获取的授权码
spring.mail.protocol=smtps
spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.properties.smtp.auth=true
4使用javaMailSender发送邮件
首先将发送邮件的逻辑封装,以便反复使用,新建一个工具包util,并在包下新建一个工具类MailClient
@Component
public class MailClient {
private static final Logger logger= LoggerFactory.getLogger(MailClient.class);
@Autowired
private JavaMailSender mailSender;
// 你的邮箱账户
@Value("${spring.mail.username}")
private String from;
// 参数说明:to 目标邮箱地址;subject 邮件主题;content 邮件内容
public void sendMail(String to,String subject,String content){
try {
MimeMessage message=mailSender.createMimeMessage();
MimeMessageHelper helper=new MimeMessageHelper(message);
helper.setFrom(from);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(content,true);
mailSender.send(helper.getMimeMessage());
} catch (MessagingException e) {
logger.error("发送邮件失败:"+e.getMessage());
}
}
}
在测试类中进行测试发送文本邮件
@Autowired
private MailClient mailClient;
@Autowired
private TemplateEngine templateEngine;
@Test
public void testTextMail(){
mailClient.sendMail("******@******.edu.cn","TEST","Welcome.");
}