SpringBoot使用邮件发送
使用场景:
- 定时任务报错
- 消息推送
- 日志报错提醒
1.导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2.yaml文件配置
spring:
application:
name: demo
mail:
host: smtp.qq.com
username: xxx@qq.com
# 授权码
password: xxx
port: 587
default-encoding: UTF-8
smtp:
socketFactoryClass: javax.net.ssl.SSLSocketFactory
3.编写代码
@Autowired
JavaMailSender javaMailSender;
/**
* 普通邮件发送
*/
@Test
public void sendSimpleMail() {
// 构建一个邮件对象
SimpleMailMessage message = new SimpleMailMessage();
// 设置邮件主题
message.setSubject("这是一封测试邮件");
// 设置邮件发送者,这个跟application.yml中设置的要一致
message.setFrom("2xxxx@qq.com");
// 设置邮件接收者,可以有多个接收者,中间用逗号隔开,以下类似
// message.setTo("10*****16@qq.com","12****32*qq.com");
message.setTo("23xxxx@qq.com","13xxxxxx@163.com","zhangsan@ali.com");
// 设置邮件抄送人,可以有多个抄送人
//message.setCc("12****32*qq.com");
// 设置隐秘抄送人,可以有多个
//message.setBcc("7******9@qq.com");
// 设置邮件发送日期
message.setSentDate(new Date());
// 设置邮件的正文
message.setText("这是测试邮件的正文");
// 发送邮件
javaMailSender.send(message);
}