【云短信】腾讯&阿里
腾讯 : https://github.com/qcloudsms/qcloudsms_csharp
安装nuget包:

using qcloudsms_csharp;
using System.Collections.Generic;
namespace Own.Common
{
public class Utils
{
/// <summary>
/// 腾讯云发短信
/// </summary>
public static void TencentSmsMethod()
{
//地址:https://console.cloud.tencent.com/sms/smsContent
// 短信应用SDK AppID
;
// 短信应用SDK AppKey
";
//模板Id
;
// 签名 NOTE: 这里的签名只是示例,请使用真实的已申请的签名, 签名参数使用的是`签名内容`,而不是`签名ID`
string smsSign = "程序源于生活";
// 需要发送短信的手机号码
" };
#region 指定模板单发短信
//var ssender = new SmsSingleSender(appid, appkey);
//var result = ssender.sendWithParam("86", phoneNumbers[0],
// templateId, new[] { "5678","2" }, smsSign, "", ""); // 签名参数未提供或者为空时,会使用默认签名发送短信
#endregion
#region 指定模板群发
var ssender = new SmsMultiSender(appid, appkey);
", phoneNumbers, templateId,
" }, null, "", ""); // 签名参数未提供或者为空时,会使用默认签名发送短信
#endregion
}
}
}
阿里:官方说明文档
1.在github下载sdk
https://github.com/aliyun/aliyun-openapi-net-sdk
在线调试:https://api.aliyun.com/new?spm=a2c4g.11186623.2.13.5c1619d9AB95cl#/?product=Dysmsapi&api=SendSms


using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Exceptions;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Dysmsapi.Model.V20170525;
using System;
namespace Own.Common
{
public class Utils
{
/// <summary>
/// 阿里云发短信
/// </summary>
public static SendSmsResponse SendSms()
{
//产品名称:云通信短信API产品,开发者无需替换
const String product = "Dysmsapi";
//产品域名,开发者无需替换
const String domain = "dysmsapi.aliyuncs.com";
// TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)
const String accessKeyId = "yourAccessKeyId";
const String accessKeySecret = "yourAccessKeySecret";
IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", accessKeyId, accessKeySecret);
DefaultProfile.AddEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
IAcsClient acsClient = new DefaultAcsClient(profile);
SendSmsRequest request = new SendSmsRequest();
SendSmsResponse response = null;
try
{
//必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
request.PhoneNumbers = ";
//必填:短信签名-可在短信控制台中找到
request.SignName = "云通信";
//必填:短信模板-可在短信控制台中找到
request.TemplateCode = "SMS_1000000";
//可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
request.TemplateParam = "{\"customer\":\"123\"}";
//可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
request.OutId = "yourOutId";
//请求失败这里会抛ClientException异常
response = acsClient.GetAcsResponse(request);
}
catch (ServerException e)
{
Console.WriteLine(e.ErrorCode);
}
catch (ClientException e)
{
Console.WriteLine(e.ErrorCode);
}
return response;
}
/// <summary>
/// 批量
/// </summary>
/// <returns></returns>
public static SendBatchSmsResponse BatchSendSms()
{
//产品名称:云通信短信API产品,开发者无需替换
const String product = "Dysmsapi";
//产品域名,开发者无需替换
const String domain = "dysmsapi.aliyuncs.com";
// TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)
const String accessKeyId = "yourAccessKeyId";
const String accessKeySecret = "yourAccessKeySecret";
IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", accessKeyId, accessKeySecret);
DefaultProfile.AddEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
IAcsClient acsClient = new DefaultAcsClient(profile);
SendBatchSmsRequest request = new SendBatchSmsRequest();
//request.Protocol = ProtocolType.HTTPS;
//request.TimeoutInMilliSeconds = 1;
SendBatchSmsResponse response = null;
try
{
//必填:待发送手机号。支持JSON格式的批量调用,批量上限为100个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
request.PhoneNumberJson = "[\"1500000000\",\"1500000001\"]";
//必填:短信签名-支持不同的号码发送不同的短信签名
request.SignNameJson = "[\"云通信\",\"云通信\"]";
//必填:短信模板-可在短信控制台中找到
request.TemplateCode = "SMS_1000000";
//必填:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
//友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败
request.TemplateParamJson = "[{\"name\":\"Tom\", \"code\":\"123\"},{\"name\":\"Jack\", \"code\":\"456\"}]";
//可选-上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段)
//request.SmsUpExtendCodeJson = "[\"90997\",\"90998\"]";
//请求失败这里会抛ClientException异常
response = acsClient.GetAcsResponse(request);
}
catch (ServerException e)
{
Console.Write(e.ErrorCode);
}
catch (ClientException e)
{
Console.Write(e.ErrorCode);
Console.Write(e.Message);
}
return response;
}
/// <summary>
/// 查询发送详情
/// </summary>
public static QuerySendDetailsResponse QuerySendDetails(String bizId)
{
//产品名称:云通信短信API产品,开发者无需替换
const String product = "Dysmsapi";
//产品域名,开发者无需替换
const String domain = "dysmsapi.aliyuncs.com";
// TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)
const String accessKeyId = "yourAccessKeyId";
const String accessKeySecret = "yourAccessKeySecret";
//初始化acsClient,暂不支持region化
IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", accessKeyId, accessKeySecret);
DefaultProfile.AddEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
IAcsClient acsClient = new DefaultAcsClient(profile);
//组装请求对象
QuerySendDetailsRequest request = new QuerySendDetailsRequest();
//必填-号码
request.PhoneNumber = ";
//可选-流水号
request.BizId = bizId;
//必填-发送日期 支持30天内记录查询,格式yyyyMMdd
request.SendDate = DateTime.Now.ToString("yyyyMMdd");
//必填-页大小
request.PageSize = ;
//必填-当前页码从1开始计数
request.CurrentPage = ;
QuerySendDetailsResponse querySendDetailsResponse = null;
try
{
querySendDetailsResponse = acsClient.GetAcsResponse(request);
}
catch (ServerException e)
{
Console.WriteLine(e.ErrorCode);
}
catch (ClientException e)
{
Console.WriteLine(e.ErrorCode);
}
return querySendDetailsResponse;
}
}
}
【云短信】腾讯&阿里的更多相关文章
- php 阿里云短信服务及阿里大鱼实现短信验证码的发送
一:使用阿里云的短信服务 ① 申请短信签名 ②申请短信模板 ③创建Access Key,获取AccessKeyId 与 AccessKeySecret.(为了安全起见,这里建议使用子用户的Access ...
- ThinkPHP5.0手把手实现手机阿里云短信验证
阿里云短信服务介绍阿里云短信服务就是以前的阿里大于,不过现在融合得到阿里云平台了.首先,你需要注册一个阿里云账号,这个自行解决. 仅用于测试使用官方送的代金券够用了.相关配置1.开通阿里云Access ...
- 阿里云短信验证解决方案(java版)(redis存储)
最近搞了一个互联网项目的注册,需要写一个手机号验证(由于之前没有轮子,只能自己摸索了); 1:基本思路: 1>购买了阿里云短信服务->下载阿里云短信发送demo(java版); 2> ...
- CRMEB小程序商城v4.0二次开发对接集成阿里云短信
作者:廖飞 - CRMEB小程序商城研发项目组长 前言 cremb小程序商城v4.0版本支持短信平台为云信,但有部分用户有需求对接阿里云短信,这篇文章将对阿里云短信平台如何对接方以及对接流程详细说明. ...
- ABP框架中短信发送处理,包括阿里云短信和普通短信商的短信发送集成
在一般的系统中,往往也有短信模块的需求,如动态密码的登录,系统密码的找回,以及为了获取用户手机号码的短信确认等等,在ABP框架中,本身提供了对邮件.短信的基础支持,那么只需要根据自己的情况实现对应的接 ...
- 移动端获取短信验证码java实现——阿里云短信服务
需求:移动端输入手机号,获取验证码.点击登录,验证验证码是否输入错误.是否超时等情况,一旦校验通过,将用户数据保存到数据中(业务逻辑). 前提:注册阿里用户,开通短信服务,申请key.秘钥.签名.短信 ...
- 浏览器端获取短信验证码java实现——阿里云短信服务
需求:浏览器端输入手机号,获取验证码.点击登录,验证验证码是否输入错误.是否超时等情况,一旦校验通过,将用户数据保存到数据中(业务逻辑). 前提:注册阿里用户,开通短信服务,申请key.秘钥.签名.短 ...
- 轻松集成腾讯云短信服务实现短信发送(Java实现)
不论是阿里云还是腾讯云,要想在网站上实现短信发送功能,首先得保证你的网站域名是通过备案的,因为短信签名是需要用到备案过的域名截图,所以域名通过了,申请很快就会审批成功了. (说点题外话,备案的话,需要 ...
- 使用Node.js调用阿里云短信的发送以及接收
为了使用Node.js调用阿里云短信服务,我自己写了个npm包, 目前实现了: 使用Node.js调用阿里云短信服务,发送短信: 使用Node.js调用阿里云短信服务以及MNS服务,接收用户上行短信 ...
- 阿里云短信服务bug
接入阿里云短信服务,在springboot中写测试方法,执行到 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou ...
随机推荐
- 一文讲透静电放电(ESD)保护(转发)
一直想给大家讲讲ESD的理论,很经典.但是由于理论性太强,任何理论都是一环套一环的,如果你不会画鸡蛋,注定了你就不会画大卫. 先来谈静电放电(ESD: Electrostatic Discharge) ...
- centos6 更新gcc glibc2.17
curl -Lks http://www.hop5.in/yum/el6/hop5.repo > /etc/yum.repos.d/hop5.repo yum install gcc wget ...
- C#中DataTable与XML格式的相互转换
1.DataTable转换成XML public string ConvertDataTableToXML(DataTable xmlDS) { MemoryStream stream = null; ...
- Jar包的手动导入
(1)打开项目的file 找到project structure (2)进行以下操作
- 安装linux虚拟机
虚拟机安装流程 1. 安装系统 安装完成 2. 安装VMware tools linux(ubuntu 18.04 Desktop) 手动安装 1) 加载光驱 2) 双击进入光驱,在光驱的目录下,打开 ...
- Java -- 基于JDK1.8的ArrayList源码分析
1,前言 很久没有写博客了,很想念大家,18年都快过完了,才开始写第一篇,争取后面每周写点,权当是记录,因为最近在看JDK的Collection,而且ArrayList源码这一块也经常被面试官问道,所 ...
- CentOS7 源码编译安装Tengine
简介 Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.它的目的是打造一个高效.安全的Web平台. 发展 Tengine的性能和 ...
- php 图片添加文字,水印
因为工作需求,用到这个,网上找了很多,也没有找到好的方式,最后找到这种感觉比较简单的方式,记录下来,以备后用. $im = imagecreatefrompng("img/yyk_bg. ...
- Mysql 聚合函数返回NULL
[1]聚合函数返回NULL 当where条件不满足时,聚合函数sum().avg()的返回值为NULL. (1)源数据表 (2)如下SQL语句 SELECT sClass, COUNT(*) AS t ...
- Microsoft SQL Server 【Windows 身份验证】和 【sa】都无法登录的解决方案
1.修改启动参数:打开[SQL Server 配置管理器(SQL Server Configuration Manager)]→右键[SQL Server(MSSQLSERVER)]属性→高级(Adv ...