0


『EasyNotice』.NET开源消息通知组件——快速实现邮件/钉钉/飞书/企业微信告警通知

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

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

请添加图片描述

文章目录

请添加图片描述

一、EasyNotice

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


1. 源码地址

2. 功能介绍

  • 支持[邮件]、[钉钉]、[飞书]、[企业微信]方式发送
  • 支持自定义发送间隔,避免同样的异常频繁通知
  • 傻瓜式配置,开箱即用

3. 平台支持

  • SMTP邮箱
  • 钉钉群机器人
  • 飞书群机器人
  • 企业微信群机器人

请添加图片描述

二、项目接入

1. 邮件通知

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

  • Step 1 : 安装包,通过Nuget安装包
Install-Package EasyNotice.Core
Install-Package EasyNotice.Email
  • Step 2 : 配置 Startup 启动类
publicclassStartup{//...publicvoidConfigureServices(IServiceCollection services){//configuration
        services.AddEsayNotice(config =>{
            config.IntervalSeconds =10;//同一标题的消息,10秒内只能发一条,避免短时间内大量发送重复消息
            config.UseEmail(option =>{
                option.Host ="smtp.qq.com";//SMTP地址
                option.Port =465;//SMTP端口
                option.FromName ="System";//发送人名字(自定义)
                option.FromAddress ="[email protected]";//发送邮箱
                option.Password ="passaword";//秘钥
                option.ToAddress =newList<string>()//收件人集合{"[email protected]"};});});}}
  • Step 3 : IEmailProvider服务接口使用
[ApiController][Route("[controller]/[action]")]publicclassNoticeController:ControllerBase{privatereadonlyIEmailProvider _mailProvider;publicNoticeController(IEmailProvider provider){
        _mailProvider = provider;}[HttpGet]publicasyncTaskSendMail([FromQuery]string str){await _mailProvider.SendAsync(str,newException(str));}}

2. 钉钉通知

配置钉钉群机器人官方文档

  • Step 1 : 安装包,通过Nuget安装包
Install-Package EasyNotice.Core
Install-Package EasyNotice.Dingtalk
  • Step 2 : 配置 Startup 启动类
publicclassStartup{//...publicvoidConfigureServices(IServiceCollection services){//configuration
        services.AddEsayNotice(config =>{
            config.IntervalSeconds =10;//同一标题的消息,10秒内只能发一条,避免短时间内大量发送重复消息
            config.UseDingTalk(option =>{
                option.WebHook ="https://oapi.dingtalk.com/robot/send?access_token=xxxxx";//通知地址
                option.Secret ="secret";//签名校验});});}}
  • Step 3 : IDingtalkProvider服务接口使用
[ApiController][Route("[controller]/[action]")]publicclassNoticeController:ControllerBase{privatereadonlyIDingtalkProvider _dingtalkProvider;publicNoticeController(IDingtalkProvider dingtalkProvider){
        _dingtalkProvider = dingtalkProvider;}[HttpGet]publicasyncTaskSendDingTalk([FromQuery]string str){await _dingtalkProvider.SendAsync(str,newException(str));}}

3. 飞书通知

配置飞书群机器人官方文档

  • Step 1 : 安装包,通过Nuget安装包
Install-Package EasyNotice.Core
Install-Package EasyNotice.Feishu
  • Step 2 : 配置 Startup 启动类
publicclassStartup{//...publicvoidConfigureServices(IServiceCollection services){//configuration
        services.AddEsayNotice(config =>{
            config.IntervalSeconds =10;//同一标题的消息,10秒内只能发一条,避免短时间内大量发送重复消息
            config.UseFeishu(option =>{
                option.WebHook ="https://open.feishu.cn/open-apis/bot/v2/hook/xxxxx";//通知地址
                option.Secret ="secret";//签名校验});});}}
  • Step 3 : IFeishuProvider服务接口使用
[ApiController][Route("[controller]/[action]")]publicclassNoticeController:ControllerBase{privatereadonlyIFeishuProvider _feishuProvider;publicNoticeController(IFeishuProvider feishuProvider){
        _feishuProvider = feishuProvider;}[HttpGet]publicasyncTaskSendFeishu([FromQuery]string str){await _feishuProvider.SendAsync(str,newException(str));}}

4. 企业微信通知

配置企业微信群机器人官方文档

  • Step 1 : 安装包,通过Nuget安装包
Install-Package EasyNotice.Core
Install-Package EasyNotice.Weixin
  • Step 2 : 配置 Startup 启动类
publicclassStartup{//...publicvoidConfigureServices(IServiceCollection services){//configuration
        services.AddEsayNotice(config =>{
            config.IntervalSeconds =10;//同一标题的消息,10秒内只能发一条,避免短时间内大量发送重复消息
            config.UseWeixin(option =>{
                option.WebHook ="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxx";//通知地址});});}}
  • Step 3 : IWeixinProvider服务接口使用
[ApiController][Route("[controller]/[action]")]publicclassNoticeController:ControllerBase{privatereadonlyIWeixinProvider _weixinProvider;publicNoticeController(IWeixinProvider weixinProvider){
        _weixinProvider = weixinProvider;}[HttpGet]publicasyncTaskSendWexin([FromQuery]string str){await _weixinProvider.SendAsync(str,newException(str));}}

请添加图片描述

三、更多示例

  1. 查看 更多使用例子
  2. 查看 更多测试用例
  3. 源码地址:https://github.com/Bryan-Cyf/EasyNotice
  • 对你有用的话,顺手点个小小的star
标签: .net 开源 钉钉

本文转载自: https://blog.csdn.net/qq_34202873/article/details/129963124
版权归原作者 老陈聊架构 所有, 如有侵权,请联系我们删除。

“『EasyNotice』.NET开源消息通知组件——快速实现邮件/钉钉/飞书/企业微信告警通知”的评论:

还没有评论