springboot怎么实现自动邮件发送任务

王林
王林转载
2023-05-14 18:46:12854浏览

1.导入jar包

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
    <version>2.5.2</version>
</dependency>

2.配置文件

获取qq邮箱的POP3/SMTP服务,获取加密的密码,并编写springboot的配置文件

spring.mail.username=2080038188@qq.com #QQ号不是我的哦
spring.mail.password=gzcmhxxybgvbcjil #这里就是加密的密码
spring.mail.host=smtp.qq.com
spring.mail.properties.mail.smtp.ssl.enable=true #这一步是开启加密验证

3.测试

在测试类中进行测试

@SpringBootTest
class Sprintboot09TestApplicationTests {

    @Autowired
    JavaMailSenderImpl mailSender;
    @Test
    void contextLoads() {
        SimpleMailMessage mailMessage = new SimpleMailMessage();
        mailMessage.setSubject("你好呀");
        mailMessage.setText("谢谢你");
        mailMessage.setTo("2080038188@qq.com");
        mailMessage.setFrom("2080038188@qq.com");
        mailSender.send(mailMessage);
    }

}

然后就发送成功了,你的qq邮箱就会收到你自己发送的信息,这里是非常有成就感的哦!!!

重点:在我测试中一直有bug,找了近半个小时才找到,结果就是我们springboot配置文件多打了一个空格,肉眼都无法看到,这种错误,属实找的好辛苦,一度怀疑是jar包版本或qq邮箱的问题,结果是多虑了。今后一定要注意springboot配置文件的空格问题!!!

复杂的邮件发送

@Test
void contextLoads2() throws MessagingException {
    //一个复杂的邮件
    MimeMessage mimeMessage = mailSender.createMimeMessage();
    //组装
    MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
    //正文
    helper.setSubject("小狂神你好呀~plus");
    helper.setText("<p style='color:red'>谢谢你的狂神说java系列课程~</P>",true);
    //附件
    helper.addAttachment("1.jpg",new File("C:\\Users\\86187\\Desktop\\1.jpg"));
    helper.setTo("2080038187@qq.com");
    helper.setFrom("2080038187@qq.com");
    mailSender.send(mimeMessage);
}

以上就是springboot怎么实现自动邮件发送任务的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:亿速云,如有侵犯,请联系admin@php.cn删除
PHP培训优惠套餐