Sms

适用于AbpBoilerplate的短信服务(Short Message Service,SMS)模块,通过简单配置即可使用,仅更改一处代码即可切换短信服务提供商。

Aliyun.Sms由阿里云Sms提供服务(https://www.aliyun.com/product/sms)

TencentCloud.Sms由腾讯云Sms提供服务(https://cloud.tencent.com/product/sms)

快速开始

使用阿里云Sms服务提供商

在项目中引用AbpBoilerplate.Aliyun.Sms

dotnet add package AbpBoilerplate.Aliyun.Sms

添加AliyunSmsModule模块依赖

[DependsOn(typeof(AliyunSmsModule))]
public class CoreModule : AbpModule

appsettings.json配置文件中,添加服务相关配置

"AliyunSms": {
"RegionId": "cn-hangzhou",
"AccessKey": "",
"AccessKeySecret": ""
}
...

使用腾讯云Sms服务提供商

在项目中引用AbpBoilerplate.TencentCloud.Sms

dotnet add package AbpBoilerplate.TencentCloud.Sms

添加TencentCloudSmsModule模块依赖

[DependsOn(typeof(TencentCloudSmsModule))]
public class CoreModule : AbpModule

appsettings.json配置文件中,添加服务相关配置

"TencentCloudSms": {
"SmsSdkAppId": "",
"SecretId": "",
"SecretKey": ""
}
...

使用帮助

在Service层中注入ISmsService服务即可

发送短信示例

public class CaptchaManager : DomainService
{
private readonly ISmsService smsService; public CaptchaManager(ISmsService smsService)
{
this.smsService=smsService;
} public async Task SendCaptchaAsync(string phoneNumber)
{ var captcha = CommonHelper.GetRandomCaptchaNumber();
var model = new SendSmsRequest();
model.PhoneNumbers= phoneNumber;
model.SignName="MatoApp"; //阿里云或腾讯云后台签名管理中设置应用名称
model.TemplateCode="SMS_255330989"; //阿里云或腾讯云后台模板管理中设置模板
model.TemplateParam="{'code':'"+captcha+"'}";
await smsService.SendSmsAsync(model);
}
}

注意!不同服务商所传参数有可能不同,如腾讯的短信模板参数为字符串数组,而阿里云为键值对

//for aliyun
model.TemplateParam= JsonConvert.SerializeObject(new { code = captcha }); //for tencent-cloud
model.TemplateParam= JsonConvert.SerializeObject(new string[] {captcha});

作者信息

作者:林小

邮箱:jevonsflash@qq.com

License

The MIT License (MIT)

项目地址

Github:Sms

适用于AbpBoilerplate的阿里云腾讯云Sms短信服务的更多相关文章

  1. 阿里云短信服务发送短信验证码(JAVA开发此功能)

    开发此功能需注册阿里云账号,并开通短信服务(免费开通) 充值后,不会影响业务的正常使用!(因为发送验证类短信:1-10万范围的短信是0.045元/条).开发测试使用,充2块钱测试足够了 可参考阿里云官 ...

  2. 云-腾讯云-短信:短信(SMS)

    ylbtech-云-腾讯云-短信:短信(SMS) 快速稳定.简单易用.触达全球的短信服务,支持国内短信.语音短信与国际短信 1.返回顶部 1. 腾讯云短信 SMS 简介 腾讯云短信(Short Mes ...

  3. 阿里云和腾讯云免费SSL证书 专题

    阿里云部署SSL证书 http://www.cnblogs.com/sslwork/p/5984167.html 查找中间证书 为了确保兼容到所有浏览器,我们必须在阿里云上部署中间证书,如果不部署证书 ...

  4. 利用阿里云腾讯云正版KMS服务器端口转发

    注意:以下内容仅供实验,请勿用于任何非法用途我们知道,阿里云和腾讯云在内网部署了KMS服务器,而且是正版的,那么,有没有办法使用公网的计算机直接或间接连接到这些KMS服务器呢,受代理服务器和跳板机配置 ...

  5. Laravel 部署到阿里云 / 腾讯云

    首先你需要一台阿里云/腾讯云服务器 安装系统选择 ubuntu 16.04 然后通过 ssh 登录远程服务器按下列步骤进行配置: 更新列表 apt-get update 安装语言包 sudo apt- ...

  6. 移动端获取短信验证码java实现——阿里云短信服务

    需求:移动端输入手机号,获取验证码.点击登录,验证验证码是否输入错误.是否超时等情况,一旦校验通过,将用户数据保存到数据中(业务逻辑). 前提:注册阿里用户,开通短信服务,申请key.秘钥.签名.短信 ...

  7. 浏览器端获取短信验证码java实现——阿里云短信服务

    需求:浏览器端输入手机号,获取验证码.点击登录,验证验证码是否输入错误.是否超时等情况,一旦校验通过,将用户数据保存到数据中(业务逻辑). 前提:注册阿里用户,开通短信服务,申请key.秘钥.签名.短 ...

  8. 轻松集成腾讯云短信服务实现短信发送(Java实现)

    不论是阿里云还是腾讯云,要想在网站上实现短信发送功能,首先得保证你的网站域名是通过备案的,因为短信签名是需要用到备案过的域名截图,所以域名通过了,申请很快就会审批成功了. (说点题外话,备案的话,需要 ...

  9. PHP接入阿里云市场 阿里短信服务DEMO

    阿里短信服务:支持三大运营商短信.智能管道等优质能力,产品特点:3秒可达.99%到达率.超低资费. 使用阿里短信服务步骤: 1.购买服务 到https://market.aliyun.com/prod ...

  10. php 阿里云短信服务及阿里大鱼实现短信验证码的发送

    一:使用阿里云的短信服务 ① 申请短信签名 ②申请短信模板 ③创建Access Key,获取AccessKeyId 与 AccessKeySecret.(为了安全起见,这里建议使用子用户的Access ...

随机推荐

  1. springboot项目导入外部jar包的bean的几种方式

    背景 公司封装了基础包和日志包,将公共的配置抽取出来,供所有项目使用,因此就需要考虑,怎么引入外部jar包的Bean实例: 思考 因为公司的jar包就是普通的jar,不支持springboot的自动配 ...

  2. MongoDB 选型介绍

    什么是 MongoDB 前言 MongoDB 的主要特性 MongoDB 对比关系型数据库 MySQL 什么时候考虑 MongoDB 参考 什么是 MongoDB 前言 MongoDB 是一个开源.高 ...

  3. 强化学习从基础到进阶-案例与实践[4.2]:深度Q网络DQN-Cart pole游戏展示

    强化学习从基础到进阶-案例与实践[4.2]:深度Q网络DQN-Cart pole游戏展示 强化学习(Reinforcement learning,简称RL)是机器学习中的一个领域,区别与监督学习和无监 ...

  4. 解决问题:ACM-Reference-Format使用这个style后,文献引用顺序和正文不一致

    解决问题:latex中bib引用顺序不正确,引用顺序和正文不一致_丨汀.的博客-CSDN博客问题:生成pdf时文献应用会乱序引用bib格式的参考文献时,会这么写:\bibliographystyle{ ...

  5. Webpack基础学习(一) (未完结)

    一.Webpack介绍与基本使用 1.1.Webpack是什么? Webpack 是一个静态资源打包工具. 它会以一个或多个文件作为打包的入口,将我们整个项目所有文件编译组合成一个或多个文件输出出去. ...

  6. SQL布尔盲注

    看不到回显时使用盲注 布尔盲注 在进行SQL注入时,web页面仅返回True和False 布尔盲注会根据web页面返回的True或者False信息,对数据库中的信息,对数据库中的信息进行猜解,并获取数 ...

  7. 零基础入门Vue之拘元遣将——其他常用指令&自定义指令

    回首 在 零基础入门Vue之梦开始的地方--插值语法 我记录了v-bind.v-on.v-model的学习 在 零基础入门Vue之To be or not to be--条件渲染 我记录了v-if.v ...

  8. Google三驾马车之二:MapReduce

    第一次接触mr还是在入门mit6.824的lab1,最近重新读了一遍原始论文,又有了一些新的想法,简单做一些记录. 作为Google分布式系统的重要组成,本篇文章核心在于map/reduce操作带来的 ...

  9. NC200324 魔改森林

    题目链接 题目 题目描述 曾经有一道叫做迷雾森林的题目,然而牛牛认为地图中的障碍太多,实在是太难了,所以删去了很多点,出了这道题. 牛牛给出了一个n行m列的网格图 初始牛牛处在最左下角的格点上(n+1 ...

  10. NC19989 [HAOI2012]容易题(EASY)

    题目链接 题目 题目描述 为了使得大家高兴,小Q特意出个自认为的简单题(easy)来满足大家,这道简单题是描述如下: 有一个数列A已知对于所有的A[i]都是1~n的自然数,并且知道对于一些A[i]不能 ...