Home  >  Article  >  Java  >  How springboot implements automatic email sending tasks

How springboot implements automatic email sending tasks

王林
王林forward
2023-05-14 18:46:121454browse

1.导入jar包


    org.springframework.boot
    spring-boot-starter-mail
    2.5.2

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("

谢谢你的狂神说java系列课程~

",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); }

The above is the detailed content of How springboot implements automatic email sending tasks. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete