📣读完这篇文章里你能收获到
- 了解博主开源的告警通知项目——EasyNotice
- 傻瓜式扩展方法直接使用
- 如何通过EasyNotice快速实现邮件/钉钉/飞书/企业微信的通知发送
- 感谢点赞+收藏,避免下次找不到~
一、EasyNotice
这是博主开源的一个基于.NET开源的消息通知组件,它包含了邮件、钉钉、飞书、企业微信的群机器人通知,可以帮助我们更容易地发送程序异常通知!
1. 源码地址
- https://github.com/Bryan-Cyf/EasyNotice
2. 功能介绍
- 支持[邮件]、[钉钉]、[飞书]、[企业微信]方式发送
- 支持自定义发送间隔,避免同样的异常频繁通知
- 傻瓜式配置,开箱即用
3. 平台支持
- SMTP邮箱
- 钉钉群机器人
- 飞书群机器人
- 企业微信群机器人
二、项目接入
1. 邮件通知
邮件通知支持同时发送给多个收件人
- Step 1 : 安装包,通过Nuget安装包
Install-Package EasyNotice.Core
Install-Package EasyNotice.Email
- Step 2 : 配置 Startup 启动类
public class Startup
{
//...
public void ConfigureServices(IServiceCollection services)
{
//configuration
services.AddEasyNotice(config =>
{
config.IntervalSeconds = 10;//同一标题的消息,10秒内只能发一条,避免短时间内大量发送重复消息
config.UseEmail(option =>
{
option.Host = "smtp.qq.com";//SMTP地址
option.Port = 465;//SMTP端口
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)
{
//configuration
services.AddEasyNotice(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]")]
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.Core
Install-Package EasyNotice.Feishu
- Step 2 : 配置 Startup 启动类
public class Startup
{
//...
public void ConfigureServices(IServiceCollection services)
{
//configuration
services.AddEasyNotice(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]")]
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.Core
Install-Package EasyNotice.Weixin
- Step 2 : 配置 Startup 启动类
public class Startup
{
//...
public void ConfigureServices(IServiceCollection services)
{
//configuration
services.AddEasyNotice(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]")]
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));
}
}
文章来源:https://www.toymoban.com/news/detail-402218.html
三、更多示例
- 查看 更多使用例子
- 查看 更多测试用例
- 源码地址:https://github.com/Bryan-Cyf/EasyNotice
文章来源地址https://www.toymoban.com/news/detail-402218.html
到了这里,关于『EasyNotice』.NET开源消息通知组件——快速实现邮件/钉钉/飞书/企业微信告警通知的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!