概述
最近项目中有一个小需求就是完成一些特定业务之后,给目标方发送一个邮箱通知,告知某某操作已经完成。为了实现这个功能,我使用的是Spring提供的SpringEmail
。接下来我将一步一步的带大家快速完成一个demo案例。
安装
开启smtp服务
这个服务非常重要,如果不开启的话代码怎么写也不会成功。我这里使用QQ邮箱做一个示范,其他邮箱原理一致。找到邮箱设置的smtp设置,QQ邮箱是在邮箱设置-账户-POP3设置
,然后点击开启之后一步一步操作会得到一个授权码
,一定要好好保存这个授权码,忘记了以后又得重置一次。
导入依赖
<!--邮件发送依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
设置yml
spring:
mail:
host: smtp.qq.com
port: 587
username: 邮箱账号
password: 授权码
代码部分
@Component
public class EmailSender {
@Autowired
JavaMailSender javaMailSender;
/**
* 发送消息
* @param to 对方邮箱
* @param text 发送内容
*/
@Async
public void sendMessage(String to,String text) {
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
//发送给谁
simpleMailMessage.setFrom("自己的邮箱账号");
simpleMailMessage.setTo("对方邮箱账号");
simpleMailMessage.setSubject("邮箱主题");
simpleMailMessage.setText(text);
javaMailSender.send(simpleMailMessage);
}
}