热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

flaskmail异步发送邮件_SpringBoot与异步任务、定时任务、邮件任务

环境:IDEA版本2017.3.1x64,JDK1.8,SpringBoot2.1.1一、异步任务在需要异步的服务层开启异步注解ÿ
环境: IDEA版本2017.3.1 x64, JDK1.8, Spring Boot2.1.1

一、异步任务

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

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

3b02c1b49e58c0b524ffe7d1c28237ef.png
  • 在主配置类上开启定时任务注解功能:@EnableScheduling

三、邮件任务

  • 引入邮件依赖组件


org.springframework.bootspring-boot-starter-mail

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

aa419073bcf1f08ebf04fe171ab9120f.png
  • 邮箱开启POP3/SMTP服务

be89c78a47f339116b5d60a4be770e50.png
  • 在主配置文件(yml方式)中配置邮箱参数

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

  • 测试邮件发送

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

测试成功

3b977fd22291f5265d89d7b96eb8f0b8.png


推荐阅读
  • 基于Socket的多个客户端之间的聊天功能实现方法
    本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 解决java.lang.IllegalStateException: ApplicationEventMulticaster not initialized错误的方法和原因
    本文介绍了解决java.lang.IllegalStateException: ApplicationEventMulticaster not initialized错误的方法和原因。其中包括修改包名、解决service name重复、处理jar包冲突和添加maven依赖等解决方案。同时推荐了一个人工智能学习网站,该网站内容通俗易懂,风趣幽默,值得一看。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 标题: ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Spring学习(4):Spring管理对象之间的关联关系
    本文是关于Spring学习的第四篇文章,讲述了Spring框架中管理对象之间的关联关系。文章介绍了MessageService类和MessagePrinter类的实现,并解释了它们之间的关联关系。通过学习本文,读者可以了解Spring框架中对象之间的关联关系的概念和实现方式。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
author-avatar
woaimm0705242
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有