老规矩 在pom文件中导入需要的jar依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
撸码前还需要做些准备,需要准备邮件的密码,不是登录密码,是发送邮件的授权码,一下以qq邮箱为例
登录QQ邮箱,点击设置下的账户,开启POP2/SMTP 服务
然后生成授权码,记录这个授权码到项目的application.properties文件中
配置
spring.mail.host=smtp.qq.com
spring.mail.username=邮箱
spring.mail.password=上面生成的授权码
发送邮件的代码很简单
@Value("${spring.mail.username}")
private String whoAmI;
@Autowired
private JavaMailSender mailSender;
public void sendHtmlMail(String to, String subject, String content) {
MimeMessage message = mailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(message,true,"UTF-8");
//发送给谁
helper.setTo(to);
//谁发送的
helper.setFrom(whoAmI);
//主题
helper.setSubject(subject);
//内容,后面的boolean参数表示是否支持html
helper.setText(content,true);
//发送文件
FileSystemResource file = new FileSystemResource(new File("D:/1.txt"));
helper.addAttachment("测试附件.xlsx", file);
//发送邮件
mailSender.send(message);
} catch (MessagingException e) {
e.printStackTrace();
}
}