Java定时发送邮件

获取邮箱授权码


Java定时发送邮件_第1张图片

引入依赖


		<dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-mailartifactId>
        dependency>

修改配置文件


修改application.yml配置文件

server:
  port: 8088
  servlet:
    context-path: /sendmail
spring:
  mail:
    host: smtp.163.com
    username: [email protected]	   # 发件人邮箱地址
    password: JAWTXZEKZBHCJKOO     # 授权码
    default-encoding: utf-8

启动类


添加@EnableScheduling 注解

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@EnableScheduling
@SpringBootApplication
public class SendmailApplication {

    public static void main(String[] args) {
        SpringApplication.run(SendmailApplication.class, args);
    }

}

发送邮件


import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Slf4j
@Component
public class TimeSche {

    @Autowired
    private JavaMailSender javaMailSender;
    
    private static int count = 0;

    @Scheduled(cron = "0/5 * * * * *")
    public void sendMail() {
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
        simpleMailMessage.setFrom("[email protected]");
        simpleMailMessage.setTo("[email protected]");
        simpleMailMessage.setSubject("first mail");
        simpleMailMessage.setText("java send mail");
        javaMailSender.send(simpleMailMessage);
        count++;
        log.info(String.format("已发送%s封邮件",count));
    }
}

你可能感兴趣的:(java,开发语言)