一.准备
引入starter
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
二.邮件发送需要的配置
因为各大邮件都有其对应安全系统,不是项目中想用就可以用的,我们必须要拿到其对应的客户端授权码才行,拿到授权码,在项目中配置SMTP服务协议以及主机 配置账户 ,就可以在项目中使用各大邮件运营商进行发送邮件了
以qq邮箱为例
登陆qq邮箱后,点击设置 选择 账户选项:
向下拉选择开启POP3/SMTP 服务
点击开启也会进入验证 验证成功后即可看到自己qq邮箱的客户端授权码了
三.YML配置
spring:
mail:
host: smtp.qq.com
protocol: smtp
default-encoding: UTF-8
username: 2356781331@qq.com
password: 这里写授权码
test-connection: true
properties:
mail:
smtp:
auth: true
starttls:
enable: true
required: true
四.发送邮件
@SpringBootTest
class MybatisplusApplicationTests {
@Autowired
private JavaMailSender mailSender;
@Value("${spring.mail.username}")
private String from;
@Test
void contextLoads() {
SimpleMailMessage message = new SimpleMailMessage();
//发送方
message.setFrom(from);
//接收方
message.setTo(from);
//标题
message.setSubject("测试");
//正文
message.setText("hahahahh");
mailSender.send(message);
}
}
五.其他问题
注入JavaMailSender,但是报空指针异常,检查邮箱服务是否已经开启。