简介
Magicodes.Sms是心莱团队封装的短信服务库,已提供Abp模块的封装。
Nuget
新的包
开始使用
如果使用Abp相关模块,则使用起来比较简单,具体您可以参考相关单元测试的编写。主要有以下步骤:
1.引用对应的Nuget包
如:
2.添加模块依赖
在对应工程的Abp的模块(AbpModule)中,添加对“AliyunSmsModule”的依赖,如:
[DependsOn(typeof(AliyunSmsModule))]
3.配置
默认支持两种配置方式,配置文件和SettingManager。下面以配置文件为例,格式为:
{
"AliyunSmsSettings": {
"AccessKeyId": "",
"AccessKeySecret": "",
"SignName": "",
"TemplateCode": ""}
}
4.使用短信API
通过容器获得ISmsTemplateSender,然后调用发送方法即可。如单元测试中:
private readonly ISmsTemplateSender _smsTemplateSender;public SmsTest(){
this._smsTemplateSender = Resolve<ISmsTemplateSender>();}[Theory][InlineData("1367197xxxx", "1234")]
public async Task SendCodeAsync(string phone, string code){
await _smsTemplateSender.SmsService.SendCodeAsync(phone, code);}
非ABP集成
配置
AliyunSmsBuilder.Create()
//设置日志记录.WithLoggerAction((tag, message) =>{Console.WriteLine(string.Format("Tag:{0}\tMessage:{1}", tag, message));}).SetSettingsFunc(() =>{
//TODO:请自行配置自己的配置
//如果是一个项目多个配置,请使用key来获取相关配置
return ConfigHelper.LoadConfig("aliyun_app");}).Build();
阿里云短信发送
[Theory(DisplayName = "短信发送测试")][InlineData("你的手机号码", "验证码")]
public async Task SendCodeAsync_Test(string phone, string code){
var smsService = new AliyunSmsService();
var result = await smsService.SendCodeAsync(phone, code);result.Success.ShouldBeTrue();}
转载是一种动力 分享是一种美德
如果喜欢作者的文章,请关注【麦扣聊技术】订阅号以便第一时间获得最新内容。本文版权归作者和湖南心莱信息科技有限公司共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
文档官网:docs.xin-lai.com
QQ群:
编程交流群<85318032>
产品交流群<897857351>