ssh

Day 14 定时任务 以定时邮件为例

2019-04-15  本文已影响14人  忆曦雪_

SpringBoot定时任务实现的几种方式:

使用定时任务发送一封定时邮件

1、简单邮件

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-mail</artifactId>
</dependency>
spring.mail.host=smtp.qq.com
spring.mail.username=xxxx@qq.com(修改为自己的qq邮箱)
spring.mail.password=xxxxx(粘贴刚刚复制的授权码)
spring.mail.default-encoding=UTF-8


##如果不加下面3句,会报530错误
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
public interface MailService {
    /**
     * 发送简单邮件
     */
    void sendMail(String to,String subject,String content);
}
@Service("mailService")
public class MailServiceImpl implements MailService {
    @Autowired
    private JavaMailSender mailSender;

    @Override
    public void sendMail(String to, String subject, String content) {
        SimpleMailMessage mailMessage=new SimpleMailMessage();
        mailMessage.setFrom("xxxxx@qq.com");//发起者
        mailMessage.setTo(to);//接受者
        mailMessage.setSubject(subject);
        mailMessage.setText(content);
        try {
            mailSender.send(mailMessage);
            System.out.println("发送简单邮件");
        }catch (Exception e){
            System.out.println("发送简单邮件失败");
        }
    }


    }
@Service
//@Async
public class TaskService {
    @Autowired
    private MailService mailService;
    
//在4月15号20点23发送定时邮件
   @Scheduled(cron = "0 23 20 15 4 ? ")
    public void proces(){
        mailService.sendMail("xxxx@qq.com","这是一封简单邮件","您好!");
        System.out.println("发送成功");
    }
  }
 @Override
    public void sendMail(String to, String subject, String content) throws MessagingException {
       /* SimpleMailMessage mailMessage=new SimpleMailMessage();*/
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        MimeMessageHelper mailMessage = new MimeMessageHelper(mimeMessage, true);
        mailMessage.setFrom("2547241647@qq.com");//发起者
        mailMessage.setTo(to);//接受者
        mailMessage.setSubject(subject);
        mailMessage.setText(content);
        FileSystemResource file = new FileSystemResource(new File("D://city.jpg"));
        mailMessage.addAttachment("附件-1.jpg", file);

        mailSender.send(mimeMessage);
       /* try {
            mailSender.send(mailMessage);
            System.out.println("发送邮件成功");
        }catch (Exception e){
            System.out.println("发送邮件失败");
        }*/
    }

cron表达式详解

参考文章:https://www.cnblogs.com/linjiqin/archive/2013/07/08/3178452.html

上一篇下一篇

猜你喜欢

热点阅读