首先要开启一个定时任务的开关
在springboot中加上一个注解@EnableScheduling。
@EnableScheduling
@SpringBootApplication
public class MailmissionApplication {
public static void main(String[] args) {
SpringApplication.run(MailmissionApplication.class, args);
}
}
加上了这个注解了以后就说明这个程序已经开启了一个定时任务的功能
之后在某个方法上加上一个注解@Scheduled。
@Scheduled(cron = "0 0/2 * * * ?")
public void sendMail(String subject,String asText,String fileName,File file,String sendTo,String sendFrom) throws MessagingException {
MimeMessage mmm = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mmm, true);
//设置mail的标题
helper.setSubject(subject);
//设置内容
helper.setText(asText);
//添加一个附件(具体能添加多大的附件没有测试,但是只能这里能放一个inputStream)
helper.addAttachment(fileName, file);
helper.setTo(sendTo);
helper.setFrom(sendFrom);
mailSender.send(mmm);
}
这个注解后面要跟一个表达式,cron在网上查得到表达式,这里写的就是每2分钟执行一次本方法。