Springboot+邮件发送(QQ邮箱)
引入pom.xml的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
配置qq邮箱相关信息(application.yml)
spring:
mail:
# host: smtp.exmail.qq.com #企业邮箱
host: smtp.qq.com #个人邮箱
port: 465
username: ******@qq.com #邮箱地址,对应host的主机
password: ****** #此处为邮箱**授权码**,qq独有
properties:
mail:
smtp:
ssl:
enable: true
发送java代码
- 普通文本发送
@Autowired
private JavaMailSender javaMailSender;
public void sendMail(String address){
SimpleMailMessage message = new SimpleMailMessage();
message.setSubject("test");
message.setFrom("******@qq.com");
message.setTo(address);
message.setText("hello world");
javaMailSender.send(message);
}
- 非纯文本格式发送
@Autowired
private JavaMailSender javaMailSender;
public void sendMail(String address){
MimeMessage message = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true);
//邮件主题
helper.setSubject("test");
//附件
helper.addAttachment("file.png",new File("filePath"));
//邮件内容,也可以放html的格式
helper.setText("邮件内容");
//邮件发送时间
helper.setSentDate(时间);
//发件人
helper.setFrom("******@qq.com");
//收件人
helper.setTo(address);
javaMailSender.send(message);
}
补充
邮箱开启smtp服务
- 登陆qq邮箱,点击设置->账户
- 开启smtp服务
获取邮箱授权码
-
点击获取
-
发送短信
-
将获取到的16位授权码填入到yml文件中