SpringBoot任务——邮件任务
1.添加依赖
maven工程下导入官方提供的mail启动器:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2.邮件配置
1.在设置->账号中启动POP3/SMTP服务和IMAP/SMTP服务
2.获取授权码,用于在第三方客户端登录邮箱(在这里第三方客户端即等会的springboot程序)
application.properties下配置
#邮件配置
spring.mail.username=2357390156@qq.com
#授权码
spring.mail.password=授权码
#邮件发送服务器 QQ的为smtp.qq.com 网易的为smtp.163.com
spring.mail.host=smtp.qq.com
3.编码测试简单邮件和复杂邮件
@SpringBootTest
class SpringbootTaskApplicationTests {
//注入邮件发送器
@Autowired
JavaMailSenderImpl mailSender;
@Test
void contextLoads() {
}
//发送简单邮件 只有标题和正文的文字
@Test
public void test() {
SimpleMailMessage message = new SimpleMailMessage();
message.setSubject("邮件标题");
message.setText("邮件内容");
message.setFrom("2357390156@qq.com");
message.setTo("1109241109@qq.com");
mailSender.send(message);
}
//发送复杂邮件 包含附件(文件)和HTML文本
@Test
public void test2() throws MessagingException {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
helper.setSubject("邮件标题");
helper.setText("<h1>HTML标签</h1>", true);
helper.setFrom("2357390156@qq.com");
helper.setTo("1109241109@qq.com");
helper.addAttachment("me.jpg", new File("D:\\照片\\me.jpg"));
mailSender.send(mimeMessage);
}
}