springboot简单使用定时(corn)和邮箱发送功能
Posted 冷血~多好
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot简单使用定时(corn)和邮箱发送功能相关的知识,希望对你有一定的参考价值。
在配置文件application.properties
spring.mail.username=7573548@qq.com
spring.mail.password=koapxsjyssdsdcbdjj(在自己邮箱设置拿到密码)
spring.mail.host=smtp.qq.com
#开启加密验证
spring.mail.properties.mail.smtp.ssl.enable=true
test类测试发送
package com.chen.springboot08assignment;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.MailMessage;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;
@SpringBootTest
class Springboot08AssignmentApplicationTests
@Autowired
JavaMailSenderImpl mailSender;
@Test
void contextLoads()
//一个简单的邮件
SimpleMailMessage mailMessage= new SimpleMailMessage();
mailMessage.setSubject("hello");
mailMessage.setText("好好学习哈");
mailMessage.setTo("1292331759046@qq.com");
mailMessage.setFrom("7573548@qq.com");
mailSender.send(mailMessage);
@Test
void contextLoads2() throws MessagingException
//一个复杂的邮件
MimeMessage mailMessage=mailSender.createMimeMessage();
//组装
MimeMessageHelper helper=new MimeMessageHelper( mailMessage,true);
//正文
helper.setSubject("哈哈哈,下午好");
helper.setText("<p style='color:red'>goodgoodstudy,daydayup</p>",true);
//附件
helper.addAttachment("1.jpg",new File("C:\\\\Users\\\\86151\\\\Pictures\\\\Saved Pictures\\\\1.jpg"));
helper.addAttachment("2.jpg",new File("C:\\\\Users\\\\86151\\\\Pictures\\\\Saved Pictures\\\\1.jpg"));
helper.setTo("1291759046@qq.com");
helper.setFrom("7573548@qq.com");
mailSender.send(mailMessage);
使用定时功能
在springboot启动类添加注解
@EnableScheduling//开启定时功能的注解
@SpringBootApplication
public class Springboot08AssignmentApplication
public static void main(String[] args)
SpringApplication.run(Springboot08AssignmentApplication.class, args);
测试使用
package com.chen.springboot08assignment.service;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
@Service
public class ScheduledService
//在一个特定的时间执行这个方法
//cron表达式
//秒 分 时 日 月 周
/*
30 15 10 * * ? 代表每天10点15分执行一次
30 0/5 10,18 * * ? 代表每天10点和18点,每隔五分钟执行一次
0 15 10 ? * 1-6 每个月的周一到周六10.15分钟执行一次
0/2 * * * * ? 每隔两秒执行一次
*/
@Scheduled(cron="20 16 15 * * ?")
public void hello()
System.out.println("hello,你被执行了~");
使用异步延时功能
在springboot启动类添加注解
@EnableAsync//开启异步注解功能
@SpringBootApplication
public class Springboot08AssignmentApplication
public static void main(String[] args)
SpringApplication.run(Springboot08AssignmentApplication.class, args);
创建一个AsyncService类
@Service
public class AsyncService
//告诉spring这是一个异步的方法
@Async
public void hello()
try
Thread.sleep(3000);
catch (InterruptedException e)
e.printStackTrace();
System.out.println("数据正在处理。。。");
创建一个控制类AsyncController
@RestController
public class AsyncController
@Autowired
AsyncService asyncService;
@RequestMapping("hello")
public String hello()
asyncService.hello();//停止三秒,转圈
return "ok";
以上是关于springboot简单使用定时(corn)和邮箱发送功能的主要内容,如果未能解决你的问题,请参考以下文章