美文网首页spring boot
SpringBoot整合邮件任务

SpringBoot整合邮件任务

作者: 勿念及时雨 | 来源:发表于2019-07-08 01:31 被阅读0次

    1.邮件发送需要引入spring-boot-starter-mail依赖。

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

    2.在application.properties中配置发送人邮箱信息。这里我使用QQ邮箱作为发送人邮箱,需要在QQ邮箱中设置开启POP3/SMTP服务,具体设置方法是点击“设置”,下拉到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务” 项,点击“POP3/SMTP服务”右方的“开启按钮”,按照提示发送短信,然后点击“已发送”,生成随机码,将随机码拷贝,配置到spring.mail.password中。

    spring.mail.username=1796608443@qq.com
    spring.mail.password=izzrhhcusjfibfab
    spring.mail.host=smtp.qq.com
    spring.mail.properties.mail.smtp.ssl.enable=true
    

    3.使用JavaMailSenderImpl对象发送邮件。

    SimpleMailMessage message=new SimpleMailMessage();
    //设置邮件主体
    message.setSubject("通知-这是一个SpringBoot的测试邮件");
    //设置邮件内容
    message.setText("Hello JavaMail!");
    
    //设置接收人邮箱
    message.setTo("2374812290@qq.com");
    //设置发送人邮箱(需要进入QQ邮箱开启POP3/SMTP服务 )
    message.setFrom("1796608443@qq.com");
    mailSender.send(message);
    

    4.如果想发送带附件的邮件,则需要使用MimeMessageHelper对象。

     //创建一个复杂的消息邮件
    MimeMessage mimeMessage=mailSender.createMimeMessage();
    MimeMessageHelper helper=new MimeMessageHelper(mimeMessage,true);
    
    //邮件设置
    helper.setSubject("通知-这是一个带附件的测试邮件");
    helper.setText("<b style='color:red'>看到附件没?</b>",true);
    
    
    //设置接收人邮箱
    helper.setTo("2374812290@qq.com");
    //设置发送人邮箱(需要进入QQ邮箱开启POP3/SMTP服务 )
    helper.setFrom("1796608443@qq.com");
    
    //上传文件
    helper.addAttachment("图1",new File("C:\\Users\\Administrator\\Desktop\\起点封面素材\\微信图片_20190704092554.jpg"));
    helper.addAttachment("图2",new File("C:\\Users\\Administrator\\Desktop\\起点封面素材\\微信图片_20190704092612.jpg"));
    mailSender.send(mimeMessage);
    

    另外,异步任务和定时任务SpringBoot已经帮我们内置了,如果想要使用它们的话只需要在相应类中添加相关注解即可。
    异步任务
    1.在启动类上方添加@EnableAsync注解开启异步任务。
    2.在方法上方添加@Async注解标注该方法为异步方法。
    定时任务
    1.在启动类上方添加@EnableScheduling注解开启基于异步的定时任务。
    2.在方法上方添加@Scheduled(cron='')注解标注该方法为定时任务方法,注解中可定义cron表达式规则,cron属性中包含6个参数,分别表示秒、分钟、小时、日期、月份、星期,每个参数之间以空格隔开。详细的表达式规则见下图:

    相关文章

      网友评论

        本文标题:SpringBoot整合邮件任务

        本文链接:https://www.haomeiwen.com/subject/hywwhctx.html