首页 > 编程语言 >java 异步任务,定时任务,邮件发送

java 异步任务,定时任务,邮件发送

时间:2024-04-20 21:13:04浏览次数:35  
标签:异步 java helper mailMessage 任务 mailSender 邮件

java 异步任务,定时任务,邮件

  1. 异步任务

    • 异步方法注解: @Async
    • 主程序开启异步注解功能:@EnableAsync
  2. 定时任务

    • 开启定时功能的注解在main: @EnableScheduling
    TaskScheduler :任务调用者
    TaskExecutor: 任务执行者
    
    @EnableScheduling  开启定时功能的注解
    @Scheduled 固定时间执行
    
  3. 邮件发送: 简单邮件发送

    • pom.xml 添加启动器依赖: spring-boot starter-mail
    • 代码使用JavaMailSenderImpl 发送邮件
    @Autowired
    JavaMailSenderImpl mailSender;
    
    pubiic void SendEmail(){
      SimpleMailMessage mailMessage=new SimpleMailMessage();
        
        mailMessage.setSubject("邮件标题");
        mailMessage.setText("邮件正文");
        mailMessage.setTo("[email protected]");
        mailMessage.setFrom("[email protected]");
        
        mailSender.send(mailMessage);
    }
    

4.复杂邮件发送: 字体颜色,附件

@Autowired
JavaMailSenderImpl mailSender;

pubiic void SendEmail(){
    //复杂的邮件
  MimeMessage mailMessage=mailSender.createMimeMessage
   //组装
  MimeMessageHelper helper=new MimeMessageHelper(mimeMessage,Multipart:true);
    
    //正文
    helper.setSubject("邮件标题2");
    helper.setText("<p style='color:red'>邮件正文</p>",html:true);
        
    //附件
    helper.addAttachment("1.jpg",new File("c:\\users\\administrator\\desktop\\1.jpg"));
    
    helper.setTo("[email protected]");
    helper.setFrom("[email protected]");
    
    mailSender.send(mailMessage);
}

标签:异步,java,helper,mailMessage,任务,mailSender,邮件
From: https://www.cnblogs.com/chenshaojun2008/p/18148172

相关文章

  • Java 安全基础之 Java 反射机制和 ClassLoader 类加载机制
    目录Java反射机制反射java.lang.RuntimeClassLoader类加载机制URLClassLoaderJava反射机制Java反射(Reflection)是Java非常重要的动态特性。在运行状态中,通过Java的反射机制,我们能够判断一个对象所属的类。了解任意一个类的所有属性和方法。能够调用任意一个对象的任意方......
  • java Swagger 使用汇总
    Swagger1.Swagger简介最流行的api框架restfulapi在线自动生成工具:api文档与api定义同步更新直接运行,可以在线测试api接口支持多种语言:java,php2.官网https://swagger.io在项目中使用swagger需要springboxswagger2ui3.SpringBoot集成Swaggerhttps://mvnreposito......
  • 团队任务4
    这个作业属于哪个课程<软件工程2024-双学位>这个作业要求在哪里<团队作业4>目录项目冲刺一项目冲刺二项目冲刺三项目冲刺四项目冲刺五项目冲刺六项目冲刺七项目冲刺一分别指派工作,各自独立学习姓名分工陈俊豪前端开发技术,李荣富后端数据的获取......
  • Java面试题:为什么HashMap不建议使用对象作为Key?
    HashMap是一种基于哈希表的动态数据结构,它允许使用任意不可变对象作为键(key)来存储和检索数据。然而,在某些情况下,使用对象作为HashMap的键可能会遇到一些问题。 首先,我们需要明确对象作为HashMap的键需要满足一些条件:不可变性:对象的属性不能被修改,因为如果属性被修改,那......
  • JavaScript变量的奥秘:从声明到使用,一文掌握!
    在编程的世界里,数据是构建一切的基础。而在JavaScript中,变量就是存储数据的容器。它们就像是我们生活中的盒子,可以装下各种物品,让我们在需要的时候随时取用。今天,就让我们一起揭开变量的神秘面纱,探索它们的概念、使用规则,以及那些令人头疼的错误。一、变量的概念和作用变量,顾名......
  • C# 异步编程Task(三) async、await
    一、async和await两个修饰符C#5.0的时候引入了async和await两个修饰符,成为异步编程的核心关键字。async是修饰符,表明方法含有异步操作,但并不是说整个方法是异步的。async修饰的方法会先同步执行到第一处await的地方而后开始异步。await可以理解为一异步特有的“return”。即返回......
  • 01、Java 安全-反序列化基础
    Java反序列化基础1.ObjectOutputStream与ObjectInputStream类1.1.ObjectOutputStream类java.io.ObjectOutputStream类,将Java对象的原始数据类型写出到文件,实现对象的持久存储。序列化操作一个对象要想序列化,必须满足两个条件:该类必须实现java.io.Serializable接口,......
  • 【Java 线程】SpringBoot 启动后都有哪些线程呢?
    1 前言现在流行搞微服务,基本也都是SpringBoot打底的,那么你可否知道一个基本的SpringBoot启动后,都开辟了哪些线程呢?这节我们就来看看。为什么要看呢?这个主要是增加对服务的了解,比如你管的支付中心或者订单中心,你都有哪些线程,各个线程都是干什么的,你不了解这些你怎么调优,你......
  • 4.Java流程控制
    Java流程控制Scannner对象(获取用户的输入)//基本格式:Scannerscanner=newScanner(System.in);Stringstr=scanner.nextLine();//其中nextLine()按情况替换scanner.close();publicstaticvoidmain(String[]args){//创建一个扫描器对象,用于接受......
  • java中的set集合
    java中的set集合目录java中的set集合1.HashSet集合1.1HashSet的特点1.2HashSet常用方法2.LinkedHashSet集合2.1LinkedHashSet集合的特点3.TreeSet集合3.1TreeSet集合的特点3.2TreeSet的基本使用4.HashSet、LinkedHashSet、TreeSet的使用场景5.list和set集合的区别5.1有序性5.2唯......