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

『EasyNotice』.NET开源消息通知组件——快速实现邮件/钉钉告警通知

请添加图片描述
📣读完这篇文章里你能收获到

  • 傻瓜式扩展方法直接使用
  • 如何通过EasyNotice快速实现钉钉/邮件的通知发送
  • 感谢点赞+收藏,避免下次找不到~

请添加图片描述

文章目录

  • 一、EasyNotice
    • 1. 功能介绍
    • 2. 源码地址
  • 二、项目接入
    • 1. 发送邮件通知
      • Step 1 : 安装包,通过Nuget安装包
      • Step 2 : 配置 Startup 启动类
      • Step 3 : IEmailProvider服务接口使用
    • 2. 发钉钉通知
      • Step 1 : 安装包,通过Nuget安装包
      • Step 2 : 配置 Startup 启动类
      • Step 3 : IDingtalkProvider服务接口使用
    • 3. 更多示例

请添加图片描述

一、EasyNotice

这是一个基于.NET开源的消息通知组件,它包含了邮件通知、钉钉通知,可以帮助我们更容易地发送程序异常通知!


1. 功能介绍

  • 支持邮件发送、钉钉发送
  • 支持自定义发送间隔,避免同样的异常频繁通知
  • 傻瓜式配置,开箱即用

2. 源码地址

  • https://github.com/Bryan-Cyf/EasyNotice

请添加图片描述

二、项目接入

1. 发送邮件通知

邮件通知支持同时发送给多个收件人

Step 1 : 安装包,通过Nuget安装包

Install-Package EasyNotice.Core
Install-Package EasyNotice.Email

Step 2 : 配置 Startup 启动类

public class Startup
{//...public void ConfigureServices(IServiceCollection services){//configurationservices.AddEsayNotice(config =>{config.IntervalSeconds = 10;//同一标题的消息,10秒内只能发一条,避免短时间内大量发送重复消息config.UseEmail(option =>{option.Host = "smtp.qq.com";//smtp域名option.Port = 465;//端口option.FromName = "System";//发送人名字(自定义)option.FromAddress = "12345@qq.com";//发送邮箱option.Password = "passaword";//秘钥option.ToAddress = new List<string>()//收件人集合{"12345@qq.com"};});});}    
}

Step 3 : IEmailProvider服务接口使用

[ApiController]
[Route("[controller]/[action]")]
public class NoticeController : ControllerBase
{private readonly IEmailProvider _mailProvider;public NoticeController(IEmailProvider provider){_mailProvider = provider;}[HttpGet]public async Task SendMail([FromQuery] string str){//发送邮件await _mailProvider.SendAsync(str, new Exception(str));}
}

2. 发钉钉通知

Step 1 : 安装包,通过Nuget安装包

Install-Package EasyNotice.Core
Install-Package EasyNotice.Dingtalk

Step 2 : 配置 Startup 启动类

public class Startup
{//...public void ConfigureServices(IServiceCollection services){//configurationservices.AddEsayNotice(config =>{config.IntervalSeconds = 10;//同一标题的消息,10秒内只能发一条,避免短时间内大量发送重复消息config.UseDingTalk(option =>{option.WebHook = "https://oapi.dingtalk.com/robot/send?access_token=xxx";option.Secret = "secret";});});}    
}

Step 3 : IDingtalkProvider服务接口使用

[ApiController]
[Route("[controller]/[action]")]
public class NoticeController : ControllerBase
{private readonly IDingtalkProvider _dingtalkProvider;public NoticeController(IDingtalkProvider dingtalkProvider){_dingtalkProvider = dingtalkProvider;}[HttpGet]public async Task SendDingTalk([FromQuery] string str){await _dingtalkProvider.SendAsync(str, new Exception(str));}
}

3. 更多示例

  1. 查看 更多使用例子
  2. 查看 更多测试用例
  3. 源码地址:https://github.com/Bryan-Cyf/EasyNotice
  • 对你有用的话,顺手点个小小的star
http://www.lryc.cn/news/45600.html

相关文章:

  • JVM垃圾回收算法
  • 怎么看待ChatGPT封号这件事呢?
  • 八、交换技术原理
  • 什么是DHCP?DHCP有什么用?(中科三方)
  • 算法设计-二分
  • 隧道技术基础
  • 卡尔曼滤波浅析
  • Eolink Apikit 创建/生成 API 文档
  • 2023年上半年系统分析师备考法则
  • 【人工智能】—约束传播、弧约束、问题结果与问题分解、局部搜索CSP
  • Java设计模式面试专题
  • 文件(下)——“C”
  • bugku 渗透靶场3
  • NER 任务以及联合提槽任务
  • scala函数式编程
  • 网吧2023:热闹回来了,电竞战歌起
  • 代码随想录算法训练营第五十九天|503.下一个更大元素II、42. 接雨水
  • 9、简单功能分析
  • 如何发送和接收参数?五种参数传递方法
  • 蓝桥杯C/C++VIP试题每日一练之矩形面积交
  • Spark大数据处理讲课笔记2.4 IDEA开发词频统计项目
  • 【ChatGPT 】国内无需注册 openai 即可访问 ChatGPT:ChatGPT Sidebar 浏览器扩展程序的安装与使用
  • 使用fetch()异步请求API数据实现汇率转换器
  • GPT-4“王炸”,10秒钟开发一套Web + APP 系统
  • Disjoint 集合数据结构或 Union-Find 算法简介
  • uniapp中nvue与vue的区别?
  • 带头双向循环链表的实现
  • 大屏使用dv-digital-flop定时刷新显示总人数
  • Java面向对象部分 个人学习记录
  • MySQL数据库——对Linux MySQL软件包的一些说明