📣读完这篇文章里你能收获到
了解博主开源的告警通知项目——EasyNotice傻瓜式扩展方法直接使用如何通过EasyNotice快速实现邮件/钉钉/飞书/企业微信的通知发送感谢点赞+收藏,避免下次找不到~
文章目录
一、EasyNotice1. 源码地址2. 功能介绍3. 平台支持 二、项目接入1. 邮件通知2. 钉钉通知3. 飞书通知4. 企业微信通知 三、更多示例一、EasyNotice
这是博主开源的一个基于.NET开源的消息通知组件,它包含了邮件、钉钉、飞书、企业微信的群机器人通知,可以帮助我们更容易地发送程序异常通知!
1. 源码地址
/Bryan-Cyf/EasyNotice2. 功能介绍
支持[邮件]、[钉钉]、[飞书]、[企业微信]方式发送支持自定义发送间隔,避免同样的异常频繁通知傻瓜式配置,开箱即用3. 平台支持
SMTP邮箱钉钉群机器人飞书群机器人企业微信群机器人二、项目接入
1. 邮件通知
Step 1 : 安装包,通过Nuget安装包邮件通知支持同时发送给多个收件人
Install-Package EasyNotice.CoreInstall-Package EasyNotice.Email
Step 2 : 配置 Startup 启动类
public class Startup{//...public void ConfigureServices(IServiceCollection services){//configurationservices.AddEasyNotice(config =>{config.IntervalSeconds = 10;//同一标题的消息,10秒内只能发一条,避免短时间内大量发送重复消息config.UseEmail(option =>{option.Host = "";//SMTP地址option.Port = 465;//SMTP端口option.FromName = "System";//发送人名字(自定义)option.FromAddress = "12345@";//发送邮箱option.Password = "passaword";//秘钥option.ToAddress = new List<string>()//收件人集合{"12345@"};});});} }
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.CoreInstall-Package EasyNotice.Dingtalk
Step 2 : 配置 Startup 启动类
public class Startup{//...public void ConfigureServices(IServiceCollection services){//configurationservices.AddEasyNotice(config =>{config.IntervalSeconds = 10;//同一标题的消息,10秒内只能发一条,避免短时间内大量发送重复消息config.UseDingTalk(option =>{option.WebHook = "/robot/send?access_token=xxxxx";//通知地址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. 飞书通知
Step 1 : 安装包,通过Nuget安装包配置飞书群机器人官方文档
Install-Package EasyNotice.CoreInstall-Package EasyNotice.Feishu
Step 2 : 配置 Startup 启动类
public class Startup{//...public void ConfigureServices(IServiceCollection services){//configurationservices.AddEasyNotice(config =>{config.IntervalSeconds = 10;//同一标题的消息,10秒内只能发一条,避免短时间内大量发送重复消息config.UseFeishu(option =>{option.WebHook = "/open-apis/bot/v2/hook/xxxxx";//通知地址option.Secret = "secret";//签名校验});});} }
Step 3 : IFeishuProvider服务接口使用
[ApiController][Route("[controller]/[action]")]public class NoticeController : ControllerBase{private readonly IFeishuProvider _feishuProvider;public NoticeController(IFeishuProvider feishuProvider){_feishuProvider = feishuProvider;}[HttpGet]public async Task SendFeishu([FromQuery] string str){await _feishuProvider.SendAsync(str, new Exception(str));}}
4. 企业微信通知
Step 1 : 安装包,通过Nuget安装包配置企业微信群机器人官方文档
Install-Package EasyNotice.CoreInstall-Package EasyNotice.Weixin
Step 2 : 配置 Startup 启动类
public class Startup{//...public void ConfigureServices(IServiceCollection services){//configurationservices.AddEasyNotice(config =>{config.IntervalSeconds = 10;//同一标题的消息,10秒内只能发一条,避免短时间内大量发送重复消息config.UseWeixin(option =>{option.WebHook = "https://qyapi./cgi-bin/webhook/send?key=xxxxx";//通知地址});});} }
Step 3 : IWeixinProvider服务接口使用
[ApiController][Route("[controller]/[action]")]public class NoticeController : ControllerBase{private readonly IWeixinProvider _weixinProvider;public NoticeController(IWeixinProvider weixinProvider){_weixinProvider = weixinProvider;}[HttpGet]public async Task SendWexin([FromQuery] string str){await _weixinProvider.SendAsync(str, new Exception(str));}}
三、更多示例
查看 更多使用例子查看 更多测试用例源码地址:/Bryan-Cyf/EasyNotice如果觉得《『EasyNotice』在.NET中多渠道告警通知——快速集成邮件/钉钉/飞书/企业微信》对你有帮助,请点赞、收藏,并留下你的观点哦!