美文网首页
运用SpringTask方式定时发送邮件

运用SpringTask方式定时发送邮件

作者: _果不其然_ | 来源:发表于2018-10-25 00:11 被阅读0次
  • 1.首先配置QQ邮箱->设置->账户->开启服务POP3/SMTP开启->获取授权码


    image.png
  • 2.添加pom依赖

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-mail</artifactId>
</dependency>
  • 3.配置application.properties
spring.mail.host=smtp.qq.com
spring.mail.username=2677897969@qq.com
spring.mail.password=amujxrblfdyobeeh
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
  • 4.Service接口
public interface MailService {
    /**
     * 发送简单邮件
     */
    void sendMail(String to,String subject,String content);

}
  • 5.Service实现类
@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("1062273622@qq.com");//发起者
        mailMessage.setTo(to);//接受者
        mailMessage.setSubject(subject);
        mailMessage.setText(content);
        try {
            mailSender.send(mailMessage);
            System.out.println("发送简单邮件");
        }catch (Exception e){
            System.out.println("发送简单邮件失败");
        }
    }
}
  • 6.每天凌晨1点发送一封邮件:0 0 1 * * ?
@Service
//@Async
public class TaskService {
    @Autowired
    private MailService mailService;
    
    @Scheduled(cron = "0 0 1 * * ?")
    public void proces(){
        mailService.sendMail("815835155@qq.com","简单邮件","lalalalalalalaal");
        System.out.println("111");
    }
  }

cron在线生成器

相关文章

网友评论

      本文标题:运用SpringTask方式定时发送邮件

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