1.创建springboot项目:
编写定时器,可以看下:springboot实现定时器
编写邮件服务类:可以看下:springboot发送邮件(1):发送简单邮件
2.启动类启用定时:
/**
* 启动类
*/
@SpringBootApplication
//开启定时
@EnableScheduling
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
3.主要业务代码:
/**
* 定时任务类,实现定时发送邮件
* Created by ASUS on 2018/5/6
*
* @Authod Grey Wolf
*/
//要声明为bean,没有声明启动类启动无法实现定时效果
@Component
public class SchedulerTask {
@Autowired
private MailService mailService;
@Value("${mail.fromMail.addr}")
private String form;
private int count=1;
/**
* 表示每隔6秒发送一次邮件
*/
@Scheduled(cron = "*/6 * * * * ?")
private void proces(){
String content="springboot整合定时器实现定时邮件发送,这是第"+(count++)+"封邮件";
mailService.sendMail(form,"简单邮件",content);
System.out.println("发送定时邮件成功");
}
}
邮件服务类:
/**
*
* 邮件服务类
* Created by ASUS on 2018/5/5
*
* @Authod Grey Wolf
*/
@Service("mailService")
public class MailServiceImpl implements MailService {
@Autowired
private JavaMailSender mailSender;
@Value("${mail.fromMail.addr}")
private String form;
/**
* 发送简单邮件
* @param to 接受者
* @param subject 主题
* @param content 内容
*/
@Override
public void sendMail(String to, String subject, String content) {
SimpleMailMessage mailMessage=new SimpleMailMessage();
mailMessage.setFrom(form);
mailMessage.setTo(to);
mailMessage.setSubject(subject);
mailMessage.setText(content);
try {
mailSender.send(mailMessage);
// System.out.println("发送简单邮件");
}catch (Exception e){
e.printStackTrace();
System.out.println("发送简单邮件失败");
}
}
}
4.run启动类application.class,测试效果:
注:有可能邮件会发送失败的原因:邮件发送过于频繁,网络异常等。
我的座右铭:不会,我可以学;落后,我可以追赶;跌倒,我可以站起来;我一定行。