第一步:导入邮件任务的Starter
导入启动器
<!--javax.mail-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
第二步:开启邮箱账号的POP3/SMTP服务
这里用的是QQ邮箱,先打开qq邮箱,再点击设置
点击账户
点击开启
验证成功开启后会给你个授权码要记下来。
第三步:配置
在配置文件application.properties配置账号密码等
#邮箱账号
spring.mail.username=XXX@qq.com
#授权码,也可以用邮箱密码
spring.mail.password=XXXXXX
spring.mail.host=smtp.qq.com
#开启加密验证
spring.mail.properties.mail.smtp.ssl.enable=true
发送简单的邮件
@Autowired
JavaMailSenderImpl mailSender;
@Test
void contextLoads() {
//一个简单的邮件
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setSubject("你好");
simpleMailMessage.setText("我是你忠实小迷弟");
simpleMailMessage.setTo("xxx@qq.com");
simpleMailMessage.setFrom("xxx@qq.com");
mailSender.send(simpleMailMessage);
}
发送复杂的邮件
@Autowired
JavaMailSenderImpl mailSender;
@Test
void contextLoads1() throws MessagingException {
//一个复杂的邮件
MimeMessage mimeMessage = mailSender.createMimeMessage();
//组装
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
//正文
helper.setSubject("一封发给自己的邮件!");
helper.setText("今天也要加油啊",true);
//附件
helper.addAttachment("1.jpg",new File("C:\\Users\\ASUS\\Pictures\\头像\\1.jpg"));
//接收人
helper.setTo("996199012@qq.com");
helper.setFrom("996199012@qq.com");
mailSender.send(mimeMessage);
}