定时任务之定时发送邮件

首先配置QQ邮箱->设置->账户->开启服务POP3/SMTP开启->获取授权码

邮箱配置.jpg

添加pom依赖

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

配置application.properties

spring.mail.host=smtp.qq.com
spring.mail.username=1062273622@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

写Service接口

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("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("发送简单邮件失败");
        }
    }
}

写定时任务:每六秒发送一份电子邮件

@Service
//@Async
public class TaskService {
    @Autowired
    private MailService mailService;
    
    @Scheduled(cron = "*/6 * * * *  ?")
    public void proces(){
        mailService.sendMail("815835155@qq.com","简单邮件","lalalalalalalaal");
        System.out.println("111");
    }
  }

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容