同城配送网站建设郑州seo哪家好
📣读完这篇文章里你能收获到
- 傻瓜式扩展方法直接使用
- 如何通过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. 更多示例
- 查看 更多使用例子
- 查看 更多测试用例
- 源码地址:https://github.com/Bryan-Cyf/EasyNotice
- 对你有用的话,顺手点个小小的star