Magicodes.Sms短信库的封装和集成
简介
Magicodes.Sms是心莱团队封装的短信服务库,已提供Abp模块的封装。
Nuget
新的包
| 名称 | 说明 | Nuget |
|---|---|---|
| Magicodes.Sms.Aliyun | 阿里云短信库 | |
| Magicodes.Sms.Core | 短信核心库 | |
| Magicodes.Sms.Aliyun.Abp | 阿里云短信Abp模块 |
开始使用
如果使用Abp相关模块,则使用起来比较简单,具体您可以参考相关单元测试的编写。主要有以下步骤:
- 引用对应的Nuget包
如:
| 名称 | 说明 | Nuget |
|---|---|---|
| Magicodes.Sms.Aliyun.Abp | 阿里云短信Abp模块 |
- 添加模块依赖
在对应工程的Abp的模块(AbpModule)中,添加对“AliyunSmsModule”的依赖,如:
[DependsOn(typeof(AliyunSmsModule))]
- 配置
默认支持两种配置方式,配置文件和SettingManager。下面以配置文件为例,格式为:
{
"AliyunSmsSettings": {
"AccessKeyId": "",
"AccessKeySecret": "",
"SignName": "",
"TemplateCode": ""
}
}
- 使用短信API
通过容器获得ISmsTemplateSender,然后调用发送方法即可。如单元测试中:
private readonly ISmsTemplateSender _smsTemplateSender;
public SmsTest()
{
this._smsTemplateSender = Resolve<ISmsTemplateSender>();
}
[Theory]
[InlineData("1367197xxxx", "")]
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();
}
Magicodes.Sms短信库的封装和集成的更多相关文章
- Android软件开发之发送短信与系统短信库解析
今天我和同学们讨论一下Android平台下如何调用系统方法发送短信.接收短信.系统的短信库相关的问题.进入正题,我们先使用Eclipse工具模拟给自己的模拟器发送一条短信.在Eclipse下打开DDM ...
- 基于SMS短信平台给手机发送短信
JAVA发送手机短信,我知道的有三种方式,恰逢项目需求,自己整理了基于SMS的短信发送,其他两种这里就说说一下 使用webservice接口发送手机短信,这个可以使用sina提供的webservice ...
- java中用中国网建提供的SMS短信平台发送短信
接下来的项目需求中提到需要短信发送功能,以前没有做过,因此便在网上搜了一下.大体上说的都是有三种方法,分别是sina提供的webservice接口.短信mao和中国网建提供的SMS短信平台. 这三种方 ...
- Java通过SMS短信平台实现发短信功能
在项目中使用过发短信的功能,但那个由于公司内部的限制很麻烦,今天在网上找到一个简单的,闲来无事就把它记录如下: 本程序是通过使用中国网建提供的SMS短信平台实现的(该平台目前为注册用户提供5条免费短信 ...
- 短信验证登陆-中国网建提供的SMS短信平台
一.JAVA发送手机短信常见的有三种方式(如下所列): 使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册 使用短信mao的方式进行短信 ...
- 中国网建SMS短信接口调用(java发送和接收手机短信)
1.先注册账号,一定要填写好签名格式.不填会返回-51错误. 代码信息接口详细==>http://sms.webchinese.cn/api.shtml . 2.测试代码 package ...
- sms短信服务
短信服务是app,电商类应用的基础功能.典型场景有: 用户注册,发送验证码 用户找回验证,发送验证码 用户账户异常,发送提示 用户账户变化,通知用户 短信服务开发有几个注意点: 供应商选型 短信模板 ...
- SMS短信PDU编码
目前,发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式.使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信:而PDU模式不仅支持 ...
- Android 监听SMS短信
当设备接收到一条新的SMS消息时,就会广播一个包括了android.provider.Telephony.SMS_RECEIVED动作的Intent. 注意,这个动作是一个字符串值,SDK 1.0不再 ...
随机推荐
- Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示
目录管理命令ls:列出指定目录下的内容格式: ls [OPTION]... [FILE]... -a:显示所有文件包括隐藏文件 -A:显示除.和..之外的所有文件 -l,--long:显示 ...
- CF600E Lomsat gelral——线段树合并/dsu on tree
题目描述 一棵树有$n$个结点,每个结点都是一种颜色,每个颜色有一个编号,求树中每个子树的最多的颜色编号的和. 这个题意是真的窒息...具体意思是说,每个节点有一个颜色,你要找的是每个子树中颜色的众数 ...
- Python的看门狗实现自动化实时对服务器、Windows或Linux文件夹的实时监控
众所周知,在运维过程中,实时获取目标文件夹至关重要,Python的watchdog是用程序来监视文件系统事件Python库,所以用该库可以实现对文件夹的实时监控,filenotify.py代码如下: ...
- C语言:大数取余
大数取余数(数组) 今天做学校的oj时遇到一题,问题可见一下截图: 查遍各大论坛,都没有遇到合适的方法,普通方法不可用,要采用数组的形式. 被除数超过long long类型,不能采用常规思路,否则会出 ...
- 问题:做EsayUI分页报错 $(...).pagination is not a function之后我把<jsp:include page="top.jsp"/>去掉就好了,有大神知道为什么吗?另外分页按键放在那里好些,我放到form表单下,就开始显示,点一下后就没有了
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...
- Python 面向对象-下篇
面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的实例(即:对象),实 ...
- nyoj 62-笨小熊(以对应数组中的ASC位 + 1)
62-笨小熊 内存限制:64MB 时间限制:2000ms Special Judge: No accepted:15 submit:43 题目描述: 笨小熊的词汇量很小,所以每次做英语选择题的时候都很 ...
- postgresql , etcd , patroni 做failover
os: centos 7.4etcd:3.2 主从IP信息192.168.56.101 node1 master192.168.56.102 node2 slave192.168.56.103 nod ...
- vim常用插件使用方法整理【持续更】
nerdtree 和编辑文件一样,通过h j k l移动光标定位切换工作台和目录 ctr+w+h 光标focus左侧树形目录,ctrl+w+l 光标focus右侧文件显示窗口. ctrl+w+w,光标 ...
- config system setting for elasticsearch
1. disable swapping. swap 分区会导致garbage collections 花费太多时间,elasticsearch 响应变慢. 方法1:swapoff -a 方法2:vi ...