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

自学[vue+SpringCloud]-012-SpringCloud工程发送邮件

文章目录

  • 前言
  • 一、配置QQ邮箱
    • 1.1 设置
    • 1.2 获取授权码
  • 二、服务发送邮件
    • 2.1 引入依赖包
    • 2.2 新建AlarmMessageDto
    • 2.3 增加controller代码
    • 2.4 main方法测试
  • 总结


前言

skywalking监控通过webhook调用SpringCloud服务接口,接口中发送告警邮件。


一、配置QQ邮箱

1.1 设置

点击设置
在这里插入图片描述
点击账号
在这里插入图片描述
下滑网页,开启服务,开启后进入管理服务
在这里插入图片描述

1.2 获取授权码

进入安全设置,点击生成授权码
在这里插入图片描述

验证后获得安全码,将安全码复制到电脑里先存着再关闭页面,该安全码千万不要泄露。
在这里插入图片描述
在这里插入图片描述

二、服务发送邮件

2.1 引入依赖包

<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.8</version>
</dependency>
<dependency><groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId><version>1.6.2</version>
</dependency>
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version>
</dependency>

在这里插入图片描述

2.2 新建AlarmMessageDto

import lombok.Data;import java.util.List;/*** @author bztc* @create 2022-09-25 20:57* @description skyWalking告警dto类*/
@Data
public class AlarmMessageDto {private int scopeId;private String scope;private String name;private String id0;private String id1;private String ruleName;private String alarmMessage;private List<Tag> tags;private long startTime;private transient int period;private transient boolean onlyAsCondition;@Datapublic static class Tag {private String key;private String value;}
}

在这里插入图片描述

2.3 增加controller代码

    /*** 描述:skywalking告警通知到qq邮箱** @author bztc* @date 2022-09-25 20:45:22*/@PostMapping("/skywalkingNotifyToQqEmail")public void skywalkingNotifyToQqEmail(@RequestBody List<AlarmMessageDto> alarmMessageList) {log.info("skywalkingNotifyToQqEmail----->告警通知:{}", alarmMessageList);MailAccount account = new MailAccount();account.setHost("smtp.qq.com");account.setPort(465);account.setAuth(true);account.setFrom("bztc@qq.com"); //如果你获取到授权码的邮箱是 bztc@qq.comaccount.setUser("bztc"); //你的邮箱@前面那一串字符account.setPass("你在第一章获得授权码");account.setSslEnable(true);MailUtil.send(account, CollUtil.newArrayList("你要发邮件给谁的邮箱@qq.com"), "测试", JSONUtil.toJsonStr(alarmMessageList), false);}

在这里插入图片描述

2.4 main方法测试

在main方法里测试调用skywalkingNotifyToQqEmail,测试成功后,邮箱会收到邮件。
在这里插入图片描述
我是自己发给自己
在这里插入图片描述


总结

注意授权码不要泄露。

相关文章:

自学[vue+SpringCloud]-012-SpringCloud工程发送邮件

文章目录 前言一、配置QQ邮箱1.1 设置1.2 获取授权码 二、服务发送邮件2.1 引入依赖包2.2 新建AlarmMessageDto2.3 增加controller代码2.4 main方法测试 总结 前言 skywalking监控通过webhook调用SpringCloud服务接口&#xff0c;接口中发送告警邮件。 一、配置QQ邮箱 1.1 设…...

STM32通信协议-I2C

目录 一&#xff0c;IC2的协议规则 I2C总线是PHILIPS公司开发的两线式串行总线&#xff0c;I2C总线主要解决了单片机一对多通信的问题 两根通信线&#xff1a;SCL,SDA&#xff0c;同步&#xff0c;半双工通信&#xff0c;支持数据应答机制&#xff0c;支持总线挂载多设备。 …...

廉颇老矣尚能饭否,实践甘肃数据挖掘挑战赛作物与杂草的智能识别,基于YOLOv3全系列【tiny/l/spp】参数模型开发构建田间低头作物杂草智能化检测识别模型

一、背景 田间杂草的有效管理是现代农业生产中面临的重要挑战之一。杂草不仅竞争作物的养分、 水分和阳光&#xff0c;还可能成为害虫和病原体的寄主&#xff0c;从而降低农作物的产量和品质。因此&#xff0c;开发 高效、精确的杂草检测和管理系统对于提高农业生产效率、降低化…...

基于Django+Python的宾馆管理系统设计与实现

项目运行 需要先安装Python的相关依赖&#xff1a;pymysql&#xff0c;Django3.2.8&#xff0c;pillow 使用pip install 安装 第一步&#xff1a;创建数据库 第二步&#xff1a;执行SQL语句&#xff0c;.sql文件&#xff0c;运行该文件中的SQL语句 第三步&#xff1a;修改源…...

MySQL--mysql的安装

1.Linux上mysql的安装: Ubuntu下: (1)安装前首先切换到管理员身份:sudo su (2)然后执行命令:apt install mysql-server (注意:装的是服务器端,客户端自动就安装了) (3)执行过程中按y; 2.Mysql初始化配置 注意,一定是sudo su,必须是管理员才能进行Mysql的初始化设置; 初始化…...

qt 构建、执行qmake、运行、重新构建、清除

qt右键功能有 构建、执行qmake、运行、重新构建、清除&#xff0c;下面简单介绍一下各个模块的作用。 1. 执行qmake qmake是一个工具&#xff0c; 它根据pro文件生成makefile文件&#xff0c;而makefile文件中则定义编译与连接的规则。pro文件中定义了头文件&#xff0c;源文件…...

微软发布 Win11 22H2/23H2 十月可选更新KB5044380!

系统之家于10月23日发出最新报道&#xff0c;微软针对Win11 22H2和23H2用户&#xff0c;发布了10月可选更新KB5044380&#xff0c;用户安装后版本号升至22621.4391和22631.4391。本次更新开始推出屏幕键盘的新游戏板键盘布局&#xff0c;支持用户使用Xbox控制器在屏幕上移动和键…...

TensorFlow面试整理-TensorFlow 基础概念

在学习和准备 TensorFlow 时,了解基础概念是至关重要的。以下是 TensorFlow 的一些核心基础概念: 1. Tensor (张量) ● 定义:张量是 TensorFlow 中的核心数据结构。它是一个多维数组,可以表示标量、向量、矩阵以及更高维的数组。张量在数学上与矩阵非常相似,但可以具有任意…...

Java实现HTTP代理的技巧与方法

在互联网时代&#xff0c;代理IP已经成为了网络访问中不可或缺的一部分。无论是为了保护隐私&#xff0c;还是为了访问特定的网络资源&#xff0c;代理IP都能发挥重要作用。那么&#xff0c;如何在Java中实现HTTP代理呢&#xff1f;本文将带您逐步了解这个过程。 什么是HTTP代…...

MFC图形函数学习02——绘制像素点函数

再次强调一下&#xff0c;我们这里学习的MFC图形函数&#xff0c;是指绘制二维图形的函数。一般来说&#xff0c;一个二维图形组成的基本要素是点、线、面以及相关的颜色。在本文中&#xff0c;将学习绘制像素点函数&#xff0c;与绘制像素点相关的其它基础知识也随着绘图函数学…...

Oracle CONNECT BY、PRIOR和START WITH关键字详解

Oracle CONNECT BY、PRIOR和START WITH关键字详解 1. 基本概念2. 数据示例3. SQL示例3.1. 查询所有员工及其上级3.2. 显示层次结构3.3. 查询特定员工的子级 4. 结论 在Oracle数据库中&#xff0c;CONNECT BY、PRIOR和START WITH关键字主要用于处理层次结构数据&#xff0c;例如…...

gateway 整合 spring security oauth2

微服务分布式认证授权方案 在分布式授权系统中&#xff0c;授权服务要独立成一个模块做统一授权&#xff0c;无论客户端是浏览器&#xff0c;app或者第三方&#xff0c;都会在授权服务中获取权限&#xff0c;并通过网关访问资源 OAuth2的四种授权模式 授权码模式 授权服务器将授…...

Unity3D学习FPS游戏(1)获取素材、快速了解三维模型素材(骨骼、网格、动画、Avatar、材质贴图)

前言&#xff1a;最近重拾Unity&#xff0c;准备做个3D的FPS小游戏&#xff0c;这里以官方FPS案例素材作为切入。 导入素材和素材理解 安装Unity新建项目新建文件夹和Scene如何去理解三维模型素材找到模型素材素材预制体结构骨骼和网格材质&#xff08;Material&#xff09;、…...

Eclipse Java 构建路径

Eclipse Java 构建路径 Eclipse 是一款广受欢迎的集成开发环境(IDE),特别适用于 Java 开发。在 Eclipse 中,构建路径(Build Path)是指编译器在编译项目时搜索类(.class)文件和源代码(.java)文件的路径。正确设置构建路径对于确保项目能够顺利编译和运行至关重要。 …...

FileLink跨网文件摆渡系统:重构跨网文件传输新时代

在数字化浪潮的推动下&#xff0c;企业对于数据的高效利用和安全管理提出了前所未有的要求。面对不同网络环境间的文件传输难题&#xff0c;传统方法往往显得力不从心&#xff0c;不仅效率低下&#xff0c;还存在极大的安全隐患。而FileLink跨网文件摆渡系统的出现&#xff0c;…...

macOS下QuickTime player+Blackhole录视频只录制系统声音

Blackhole是一个虚拟的音频驱动程序&#xff0c;免费的 安装方法&#xff1a; 方法1&#xff1a;通过homebrew安装 前提&#xff1a;你的系统中自己安装了homebrew&#xff0c;没有安装用方法2 系统终端执行下面的命令中的一个&#xff1a; brew install blackhole-2ch 或…...

Vscode + EIDE +CortexDebug 调试Stm32(记录)

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息&#xff0c;请访问: https://go.microsoft.com/fwlink/?linkid830387"version": "0.2.0","configurations": [{"cwd": "${workspaceRoot…...

qt QApplication详解

一、概述 QApplication是Qt应用程序的基础类&#xff0c;负责设置和管理应用的环境。它的主要功能包括&#xff1a;初始化应用程序、管理事件循环、处理命令行参数、提供全局设置&#xff08;如样式和调色板&#xff09;以及创建和管理主窗口。通常在main函数中创建QApplicati…...

C++ 图像处理框架

在 C 中&#xff0c;有许多优秀的图像处理框架可以用来进行图像操作、计算机视觉、图像滤波等任务。以下是一些常用的 C 图像处理框架&#xff0c;每个框架都有其独特的特性和适用场景&#xff1a; 1. OpenCV OpenCV&#xff08;Open Source Computer Vision Library&#xf…...

基于知识图谱的美食推荐系统

想象一下&#xff0c;每次打开应用&#xff0c;它都能为你量身推荐最符合你口味的美食&#xff0c;不需要再为“今天吃什么&#xff1f;”烦恼。这听起来是不是非常吸引人&#xff1f;今天就给大家介绍一个适合做毕业设计的创新项目——基于知识图谱的美食推荐系统&#xff01;…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议&#xff08;EPSFD 2025&#xff09;将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会&#xff0c;EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...