当前位置: 首页 > news >正文

SpringBoot整合定时任务和邮件发送(邮箱 信息轰炸 整蛊)

SpringBoot整合定时任务和邮件发送(邮箱 信息轰炸 整蛊)

目录

  • SpringBoot整合定时任务和邮件发送(邮箱 信息轰炸 整蛊)
  • 1.概述
  • 2.最佳实践
    • 2.1创建项目引入依赖(mail)
    • 2.2 修改yml配置文件
    • 2.3 启动类添加@EnableScheduling注解
    • 2.4 执行的任务类(发送基本内容)

我们使用java程序发送邮件,属于使用第三方客户端发送邮件
使用第三方客户端发送邮件也需要先通过认证(登录):
官方客户端认证: 用户名 密码
第三方客户端的认证:用户名 授权码
授权码需要通过发送短信开通指定功能时获取

1.概述

SpringBoot实现邮件功能是非常的方便快捷的,因为SpringBoot默认有starter实现了Mail。
发送邮件应该是网站的必备功能之一,什么注册验证,忘记密码或者是给用户发送营销信息。
最早期的时候我们会使用JavaMail相关api来写发送邮件的相关代码,后来spring推出了JavaMailSender更加简化了邮件发送的过程,在之后springboot对此进行了封装就有了现在的spring-boot-starter-mail。

2.最佳实践

先去qq邮箱设置smtp开启,并获得授权码
邮箱->设置->账户->POP3/SMTP服务:开启服务后会获得授权码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.1创建项目引入依赖(mail)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId>
</dependency>

2.2 修改yml配置文件

spring:mail:host: smtp.qq.com  #配置服务器qq:smtp.qq.com,网易163:smtp.163.compassword: cvaflkvougrvcijd  #授权码,邮箱->设置->账户->POP3/SMTP服务:开启服务后会获得权码username: 3541434135@qq.comdefault-encoding: UTF-8

2.3 启动类添加@EnableScheduling注解

在这里插入图片描述

package com.bjopwernode;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;@EnableScheduling
@SpringBootApplication
public class SpringbootTimedtaskMixMailsendingApplication {public static void main(String[] args) {SpringApplication.run(SpringbootTimedtaskMixMailsendingApplication.class, args);}}

2.4 执行的任务类(发送基本内容)

在基础包下新建一个task目录,里面新建一个类MyTask.java

package com.bjopwernode.task;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;@Component
public class MyTask {@Autowiredprivate JavaMailSender javaMailSender;/*** 发送基本内容*/@Scheduled(cron = "0/3 * * * * ?")public  void testSendSimpleMailMessage(){SimpleMailMessage simpleMailMessage = new SimpleMailMessage();//发件人邮箱simpleMailMessage.setFrom("3541434135@qq.com");//收件人邮箱simpleMailMessage.setTo("601081254@qq.com");//邮件主题simpleMailMessage.setSubject("这是一个测试邮件");//邮件内容simpleMailMessage.setText("测试内容");javaMailSender.send(simpleMailMessage);}
}
http://www.lryc.cn/news/31490.html

相关文章:

  • Arduino添加ESP32开发板
  • Mysql通配符的使用
  • RocketMQ-02
  • 深度学习卷积神经网络CNN之 VGGNet模型主vgg16和vgg19网络模型详解说明(理论篇)
  • 三:BLE协议架构简介
  • 小型双轮差速底盘双灰度循迹功能的实现
  • 电子签名?玩具罢了!
  • 【Spring Boot读取配置文件的方式】
  • java学习路线规划
  • 格密码学习笔记(二):连续极小、覆盖半径和平滑参数
  • ios 通过搜索设备MAC地址绑定
  • Python实现人脸识别,进行视频跟踪打码,羞羞的画面统统打上马赛克
  • vcf bed起始位置是0还是1
  • Hexo+live2d | 如何把live2d老婆放进自己的博客
  • 【微信小程序】-- 页面导航 -- 导航传参(二十四)
  • Pytorch学习笔记#2: 搭建神经网络训练MNIST手写数字数据集
  • C语言 猜名次、猜凶手、杨辉三角题目详解
  • 蚁群算法负荷预测
  • ubuntu添加系统服务实现开机root权限运行
  • 【阅读笔记】你不知道的Javascript--类与类型委托3
  • 文件服务设计
  • 【批处理脚本】-1.22-字符串界定符号 ““
  • 【Flutter·学习实践·UI篇】基础且重要的UI知识
  • 【OpenCV】车牌自动识别算法的设计与实现
  • SpringBoot发送邮件
  • BigInteger类和BigDecimal类的简单介绍
  • mysql五种索引类型---实操版本
  • 【微信小程序】-- 页面导航 -- 编程式导航(二十三)
  • 路由追踪工具 traceroute 使用技巧
  • NGINX学习笔记 - 一篇了解NGINX的基本概念(一)