1.在POM中添加依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2.配置文件
spring.mail.host=smtp.qq.com
spring.mail.username=------------@qq.com
spring.mail.password=--------------
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.startls.enable=true
spring.mail.properties.mail.smtp.startls.required=true
3.寫Service接口
public interface MailService {
void sendMail(String to,String subject,String content);
}
4.實現(xiàn)類
@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("********");
mailMessage.setTo(to);
mailMessage.setSubject(subject);
mailMessage.setText(content);
try {
mailSender.send(mailMessage);
System.out.println("發(fā)送簡單郵件");
}catch (Exception e) {
System.out.println("發(fā)送郵件失敗");
}
}
}
5.寫定時郵件
@Service
public class TaskService {
@Autowired
private MailService mailService;
//cron表達式
@Scheduled(cron ="0 35 9 * * ?" )
public void proces(){
mailService.sendMail("*******","----","9點35分發(fā)送");
}
}
在sendMail內(nèi)分別填上to,subject,content的內(nèi)容
6.運行主類(注意一定要加@EnableScheduling注解不然會出錯)
7.cron表達式
一個cron表達式有至少6個(也可能7個)有空格分隔的時間元素流椒。
按順序依次為
秒(0~59)
分鐘(0~59)
小時(0~23)
天(月)(0~31盐碱,但是你需要考慮你月的天數(shù))
月(0~11)
天(星期)(1~7 1=SUN 或 SUN鬼癣,MON,TUE,WED沟蔑,THU,F(xiàn)RI狱杰,SAT)
年份(1970-2099)
其中每個元素可以是一個值(如6),一個連續(xù)區(qū)間(9-12),一個間隔時間(8-18/4)(/表示每隔4小時),一個列表(1,3,5),通配符瘦材。由于"月份中的日期"和"星期中的日期"這兩個元素互斥的,必須要對其中一個設(shè)置?
0 0 10,14,16 * * ? 每天上午10點,下午2點仿畸,4點
0 0/30 9-17 * * ? 朝九晚五工作時間內(nèi)每半小時
0 0 12 ? * WED 表示每個星期三中午12點
"0 0 12 * * ?" 每天中午12點觸發(fā)
"0 15 10 ? * *" 每天上午10:15觸發(fā)
"0 15 10 * * ?" 每天上午10:15觸發(fā)
"0 15 10 * * ? *" 每天上午10:15觸發(fā)
"0 15 10 * * ? 2005" 2005年的每天上午10:15觸發(fā)
"0 * 14 * * ?" 在每天下午2點到下午2:59期間的每1分鐘觸發(fā)
"0 0/5 14 * * ?" 在每天下午2點到下午2:55期間的每5分鐘觸發(fā)
"0 0/5 14,18 * * ?" 在每天下午2點到2:55期間和下午6點到6:55期間的每5分鐘觸發(fā)
"0 0-5 14 * * ?" 在每天下午2點到下午2:05期間的每1分鐘觸發(fā)
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44觸發(fā)