Spring提供了非常好用的JavaMailSender接口实现邮件发送。在Spring Boot中也提供了相应的自动化配置。
首先再POM文件中添加JAR包
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
在application.properties中配置相应的属性:(我这里模拟的是QQ邮箱给163邮箱发送邮件)
spring.mail.host=smtp.qq.com #个人邮箱
spring.mail.username=*********@qq.com
spring.mail.password=*********
spring.mail.default-encoding=UTF-8
#密码需要注意下,如果是个人邮箱需要去申请授权码就是开通POP3/SMTP服务的时候系统会给你一穿密码,自己记录下来当作个人邮箱的密码使用,否则会报错(详细看下图),如果是企业邮箱则需要密码
详细步骤:进入到QQ邮箱-->设置-->账户
@RestController
@RequestMapping("/mail")
public class MailController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
private JavaMailSender mailSender;
@RequestMapping("/send")
public void sendMail(){
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom("so****@163.com");
message.setTo("239****@qq.com");
message.setSubject("it is a test for spring boot");
message.setText("你好,我是小黄,我正在测试发送邮件。");
try {
mailSender.send(message);
logger.info("小黄的测试邮件已发送。");
} catch (Exception e) {
logger.error("小黄发送邮件时发生异常了!", e);
}
}
}
SpringBoot 利用 JavaMailSender 发送邮件
原文:https://www.cnblogs.com/ysySelf/p/12697848.html