SpringBoot中的创建任务-----邮件任务


导入依赖的启动器


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

学习邮件发送的思路

  • 通过mail知道了这个配置类一定会是mailXXXAutoConfiguration

  • 然后再找到XXXMail.properties就能知道配置什么东西,(因为邮件需要密码,用户名),这里不可能默认这些东西,只能通过配置

  • 找到一个类,知道了写东西,比如收件人,发件人,邮件内容,邮件标题等都是在这个类中封装写

上面思路的实现

  • 在Application.properties中配置一些东西

    spring.mail.username=2272698560@qq.com
    spring.mail.password=lmobpegufslbeagb
    spring.mail.host=smtp.qq.com
    
    # QQ需要开启加密授权认证
    spring.mail.properties.mail.smtl.ssl.enable=true
    
  • 可以自定义一个邮件发送的类,也可以使用springboot里面的邮件发送的类
    -简单的邮件

          @Autowired
    JavaMailSenderImpl javaMailSender;
    @Test
    void contextLoads() {
        //一个简单的邮件
        SimpleMailMessage mailMessage = new SimpleMailMessage();
        mailMessage.setSubject("小皮球你好呀~");
        mailMessage.setText("好喜欢你~");
    
        mailMessage.setTo("1843167781@qq.com");
        mailMessage.setFrom("2272698560@qq.com");
    
        javaMailSender.send(mailMessage);
    }
    

    -复杂的邮件,能设置的东西可以点进类去看,这个类是MimeMessageHelper

    void contextLoads1() throws MessagingException {
        //一个复杂的邮件
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        //组装
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);//true是支持多文件
    
        helper.setSubject("小皮球你好啊");
        helper.setText("

    我好好好喜欢你

    ",true);//为了不使前面的

    标签变成字符串,设置true //附件 helper.addAttachment("1.jpg",new File("/")); javaMailSender.send(mimeMessage); }