700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > flask-mail异步发送邮件_Spring Boot与异步任务 定时任务 邮件任务

flask-mail异步发送邮件_Spring Boot与异步任务 定时任务 邮件任务

时间:2019-03-23 16:04:53

相关推荐

flask-mail异步发送邮件_Spring Boot与异步任务 定时任务 邮件任务

环境: IDEA版本.3.1 x64, JDK1.8, Spring Boot2.1.1

一、异步任务

在需要异步的服务层开启异步注解:@Async

@Servicepublic class AsyncService {//告诉SpringBoot这是一个异步任务,SpringBoot会自动开启一个线程去执行@Asyncpublic void testAsyncService(){try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("执行异步成功");}}

在主配置类上添加开启异步注解功能:@EnableAsync

@EnableAsync //开启异步注解功能public class SpringbootMybatisApplication {

二、定时任务

在需要开启定时任务的服务上添加注解@Scheduled(cron = "0 * * * * MON-SAT")

/* {秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)}* cron的六个符号分别对应以上时间单位,空格隔开* * 表示所有值;* ? 表示未说明的值,即不关心它为何值;* - 表示一个指定的范围;* , 表示附加一个可能值;* / 符号前表示开始时间,符号后表示每次递增的值;*/@Servicepublic class ScheduledService {@Scheduled(cron = "0 * * * * MON-SAT")public void testSchedule(){System.out.println("测试定时任务成功");}}

在主配置类上开启定时任务注解功能:@EnableScheduling

三、邮件任务

引入邮件依赖组件

<!-- 引入邮件,如果发现注入失败,可以自行到maven官网下载jar放进对应文件夹 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>

可能会产生的错误:注入失败(可以自行到maven官网下载jar放进对应文件夹):

邮箱开启POP3/SMTP服务 在主配置文件(yml方式)中配置邮箱参数

spring:mail:username: yourqq@password: xxxxxx //授权码,在服务选项中获取host: //qq邮箱服务器properties:mail:smtp:ssl:enable: true //开启安全连接

测试邮件发送

@AutowiredJavaMailSenderImpl mailSender;/*** 创建简单消息邮件*/@Testpublic void testMail(){SimpleMailMessage message = new SimpleMailMessage();message.setSubject("这是主题");message.setText("这是内容");//收件人message.setTo("xxxxx@");//发送人message.setFrom("xxxxx@");mailSender.send(message);}/*** 创建复杂消息邮件*/@Testpublic void testMail02() throws MessagingException {MimeMessage mimeMessage = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);helper.setSubject("这是复杂消息邮件主题");helper.setText("<b style='color:red;'>这是复杂消息邮件内容</b>",true);//添加附件1helper.addAttachment("1.jpg",new File("E:desktop8234.jpg"));//添加附件2helper.addAttachment("2.docx",new File("E:desktop形势与政策课作业.docx"));//收件人helper.setTo("xxxx@");//发送人helper.setFrom("xxxxx@");mailSender.send(mimeMessage);}

测试成功

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。