1.添加启动器
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2.在yml中配置相关信息
spring:
mail:
username: xxxxxxxxx@qq.com
password: xxxxxxxxxx
host: smtp.qq.com
#开启加密验证、QQ邮箱需要,其他不需要
properties: {mail.smtp.ssl.enable: true}
这里以QQ邮箱为例,用户名就是你的邮箱地址,密码的话用如下方式获得
开启服务后就能够获得你的密码了
host配置如果你使用qq那么就是smtp.qq.com
如果你用的163那么就是smtp.163.com
,以此类推
最后的properties有且仅有QQ邮箱需要配这个东西,和我一样的配置即可
3.发送邮件
配置完毕后就可以发送邮件了,这是我在测试类中写的,仅供参考
@Autowired
JavaMailSenderImpl mailSender;
@Test
void contextLoads() {
//一个简单的邮件
SimpleMailMessage mailMessage = new SimpleMailMessage();
//邮件标题
mailMessage.setSubject("xxx");
//邮件内容
mailMessage.setText("xxx");
//发送给谁
mailMessage.setTo("xxx@qq.com");
//谁来发送
mailMessage.setFrom("xxx@qq.com");
mailSender.send(mailMessage);
}
@Test
void contextLoads2() throws MessagingException {
//一个复杂的邮件
MimeMessage message=mailSender.createMimeMessage();
//组装
MimeMessageHelper messageHelper = new MimeMessageHelper(message,true);
messageHelper.setSubject("测试标题");
messageHelper.setText("<p style='color:red'>开启了true,多文件传输</p>",true);
//附件
messageHelper.addAttachment("1.jpg",new File("C:\\Users\\Wang\\Desktop\\闲谈\\图\\Cache_-7c9c85bec03272f3..jpg"));
messageHelper.setTo("xxxx@qq.com");
messageHelper.setFrom("xxxx@qq.com");
mailSender.send(message);
}