/// <summary> /// 查询发送记录 /// </summary> /// <param name="bizId"></param> /// <returns></returns> public QuerySendDetailsResponse querySendDetails(YaeherSendMsm sendMsmInfo) { //初始化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 = sendMsmInfo.PhoneNumbers; //必填-发送日期 支持30天内记录查询,格式yyyyMMdd request.SendDate = DateTime.Now.ToString("yyyyMMdd"); //必填-页大小 request.PageSize = 10; //必填-当前页码从1开始计数 request.CurrentPage = 1; QuerySendDetailsResponse querySendDetailsResponse = null; try { querySendDetailsResponse = acsClient.GetAcsResponse(request); } catch (ServerException e) { throw e; } catch (ClientException e) { throw e; } return(querySendDetailsResponse); }
/// <summary> /// 发送短信 /// add by fruitchan /// update liuyu 2018/03/19 /// 2016-12-18 00:12:30 /// </summary> /// <param name="recNum">目标手机号,多个手机号可以逗号分隔</param> /// <param name="templateCode">管理控制台中配置的审核通过的短信模板的模板CODE(状态必须是验证通过)</param> /// <param name="paramString">短信模板中的变量;数字需要转换为字符串;个人用户每个变量长度必须小于15个字符。 例如:短信模板为:“接受短信验证码${no}”,此参数传递{“no”:”123456”},用户将接收到[短信签名]接受短信验证码123456</param> /// <returns>发送结果</returns> private static string SendSMS(string recNum, string templateCode, string paramString) { IClientProfile profile = DefaultProfile.GetProfile(regionIdForPop, AccessKeyID, AccessKeySecret); DefaultProfile.AddEndpoint(regionIdForPop, regionIdForPop, product, domain); IAcsClient client = new DefaultAcsClient(profile); // SingleSendSmsRequest request = new SingleSendSmsRequest(); SendSmsRequest request = new SendSmsRequest(); try { request.SignName = "我要去度假"; request.TemplateCode = templateCode; //request.RecNum = recNum; //request.ParamString = paramString; //SingleSendSmsResponse httpResponse = client.GetAcsResponse(request); request.PhoneNumbers = recNum; request.TemplateParam = paramString; SendSmsResponse httpResponse = client.GetAcsResponse(request); if (httpResponse.HttpResponse.Status == 200) { return("ok"); } } catch (ServerException se) { return("发送短信频繁,请1小时后再试!"); } catch (ClientException ce) { return("发送短信频繁,请1小时后再试!"); } return("发送短信失败!"); }
/// <summary> /// 发送验证码 /// </summary> /// <param name="phoneNumber">手机号</param> /// <param name="SMSCode">验证码</param> public static string SendMessage(string phoneNumber, string SMSCode) { string Result = string.Empty; IClientProfile profile = DefaultProfile.GetProfile("cn-hanghzou", accessKeyId, accessKeySeret); DefaultProfile.AddEndpoint("cn-hanghzou", "cn-hanghzou", product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); SendSmsRequest request = new SendSmsRequest(); try { //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式 request.PhoneNumbers = phoneNumber; //必填:短信签名-可在短信控制台中找到 request.SignName = "正品汇"; //必填:短信模板-可在短信控制台中找到 request.TemplateCode = "SMS_67206006"; //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.TemplateParam = "{\"code\":\"" + SMSCode + "\"}"; //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 //request.OutId = "yourOutId"; //请求失败这里会抛ClientException异常 SendSmsResponse sendSmsResponse = acsClient.GetAcsResponse(request); Result = sendSmsResponse.Code; } catch (Exception) { throw; } return(Result); }
public String accessKeySecret = "hNHBRsNbOCbyyK0XVyVnj64Xv9OwHN"; //阿里短信accessKeySecret, /// <summary> /// 发送短信 /// </summary> public String SendMsm(YaeherSendMsm sendMsmInfo) { IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", accessKeyId, accessKeySecret); //初始化ascClient,暂时不支持多region(请勿修改) DefaultProfile.AddEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); SendSmsRequest request = new SendSmsRequest(); try { //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式,发送国际/港澳台消息时,接收号码格式为00+国际区号+号码,如“0085200000000” request.PhoneNumbers = sendMsmInfo.PhoneNumbers; //必填:短信签名-可在短信控制台中找到 request.SignName = "深圳怡禾健康管理有限公司"; //必填:短信模板-可在短信控制台中找到,发送国际/港澳台消息时,请使用国际/港澳台短信模版 request.TemplateCode = MsnTemplateCode(sendMsmInfo.MessageType); //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.TemplateParam = sendMsmInfo.TemplateParam; //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 request.OutId = sendMsmInfo.OutId; //请求失败这里会抛ClientException异常 SendSmsResponse sendSmsResponse = acsClient.GetAcsResponse(request); return(sendSmsResponse.Message); } catch (ServerException e) { return(e.ToString()); } }
/// <summary> /// 短信查询 /// </summary> /// <param name="phoneNumber">手机号</param> /// <param name="SMSCode">验证码</param> public static string querySendDetails(string phoneNumber) { //初始化acsClient,暂不支持region化 IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", accessKeyId, accessKeySeret); DefaultProfile.AddEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); //组装请求对象 QuerySendDetailsRequest request = new QuerySendDetailsRequest(); //必填-号码 request.PhoneNumber = phoneNumber; //可选-流水号 //request.BizId = bizId; //必填-发送日期 支持30天内记录查询,格式yyyyMMdd request.SendDate = DateTime.Now.ToString("yyyyMMdd"); //必填-页大小 request.PageSize = 10; //必填-当前页码从1开始计数 request.CurrentPage = 1; QuerySendDetailsResponse querySendDetailsResponse = null; try { querySendDetailsResponse = acsClient.GetAcsResponse(request); } catch (ServerException e) { } catch (ClientException e) { } return(querySendDetailsResponse.TotalCount); }
/// <summary> /// 短信发送记录查询接口 /// 用于查询短信发送的状态,是否成功到达终端用户手机 /// </summary> /// <param name="phone">手机号</param> /// <param name="bizId">发送流水号,从调用发送接口返回值中获取</param> /// <param name="date">短信发送日期格式yyyyMMdd,支持最近30天记录查询</param> /// <param name="currentPage">当前页码</param> /// <returns></returns> public QuerySendDetailsResponse QuerySendDetails(string phone, string bizId, DateTime date, int currentPage = 1) { //初始化acsClient,暂不支持region化 IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", AccessKeyId, AccessKeySecret); DefaultProfile.AddEndpoint("cn-hangzhou", "cn-hangzhou", Product, Domain); IAcsClient acsClient = new DefaultAcsClient(profile); //组装请求对象 var request = new QuerySendDetailsRequest(); //必填-号码 request.PhoneNumber = phone; //可选-流水号 request.BizId = bizId; //必填-发送日期 支持30天内记录查询,格式yyyyMMdd request.SendDate = date.ToString("yyyyMMdd"); //必填-页大小 request.PageSize = 50; //必填-当前页码从1开始计数 request.CurrentPage = currentPage; QuerySendDetailsResponse querySendDetailsResponse = null; try { querySendDetailsResponse = acsClient.GetAcsResponse(request); } catch (ServerException) { } catch (ClientException) { } return(querySendDetailsResponse); }
public bool SendSms(string mobile, string code) { try {//产品名称:云通信短信API产品,开发者无需替换 const String product = "Dysmsapi"; //产品域名,开发者无需替换 const String domain = "dysmsapi.aliyuncs.com"; // TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找) const String accessKeyId = "LTAISo5urmb4p9OA"; const String accessKeySecret = "6dQblI0XUTXIOheTZnvAive2g2hEss"; 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; //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式 request.PhoneNumbers = mobile; //必填:短信签名-可在短信控制台中找到 request.SignName = "校园之星原创文艺作品争霸"; //必填:短信模板-可在短信控制台中找到 request.TemplateCode = "SMS_148350075"; //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.TemplateParam = "{\"code\":\"" + code + "\"}"; //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 request.OutId = "yourOutId"; //请求失败这里会抛ClientException异常 response = acsClient.GetAcsResponse(request); return(true); } catch (Exception e) { return(false); } }
// TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找) //const String accessKeyId = "LTAIUUvOWA7LmOVz"; //const String accessKeySecret = "nIpEkq1SEvRndAcyGIqsLiisIQLo6e"; public static SendSmsResponse sendSms(String accessKeyId, String accessKeySecret, SendSmsRequest request) { 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 = "13918416905"; ////必填:短信签名-可在短信控制台中找到 //request.SignName = "晟湾国际"; ////必填:短信模板-可在短信控制台中找到 //request.TemplateCode = "SMS_127515001"; ////可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 //request.TemplateParam = "{\"code\":\"123456\"}"; ////可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 //request.OutId = System.DateTime.Now.ToLongTimeString(); //"yourOutId"; //请求失败这里会抛ClientException异常 response = acsClient.GetAcsResponse(request); } catch (ServerException e) { throw e; } catch (ClientException e) { throw e; } return(response); }
static void Main(string[] args) { //以下字段换成自己的 string regionId = "cn-hangzhou"; string accessKeyId = "xxxxxxxx"; string accessKeySecret = "xxxxxxxxxxxxxxxxxxxxxxxx"; string signName = "xxxxxxxxxx"; string phoneNumbers = "15xxxxxxxxx"; string templateCode = "SMS_73985016"; string templateParam = "{\"code\":\"123456\", \"product\":\"MyProduct\"}"; IClientProfile clientProfile = DefaultProfile.GetProfile(regionId, accessKeyId, accessKeySecret); DefaultProfile.AddEndpoint(regionId, regionId, "Dysmsapi", "dysmsapi.aliyuncs.com"); IAcsClient acsClient = new DefaultAcsClient(clientProfile); SendSmsRequest request = new SendSmsRequest(); request.SignName = signName; request.TemplateCode = templateCode; request.PhoneNumbers = phoneNumbers; request.TemplateParam = templateParam; try { SendSmsResponse response = acsClient.GetAcsResponse(request); } catch (Exception ex) { } }
private static SendSmsResponse SendSingleSms(string phoneNo, string name) { 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 = phoneNo; //必填:短信签名-可在短信控制台中找到 request.SignName = "杨健"; //必填:短信模板-可在短信控制台中找到 request.TemplateCode = "SMS_142145674"; //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.TemplateParam = JsonHelper.Serialize(new { name = name, time = "2018-09-24" }); //可选: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); }
public void SendSms(string destMobile, string code) { String product = "Dysmsapi"; //短信API产品名称 String domain = "dysmsapi.aliyuncs.com"; //短信API产品域名 String accessKeyId = MiddleTier.BusinessConfig.SmsAccessKeyId; String accessKeySecret = MiddleTier.BusinessConfig.SmsAccessKeySecret; //你的accessKeySecret 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(); try { //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为20个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式 request.PhoneNumbers = destMobile; //必填:短信签名-可在短信控制台中找到 request.SignName = MiddleTier.BusinessConfig.SmsSignName; //必填:短信模板-可在短信控制台中找到 request.TemplateCode = MiddleTier.BusinessConfig.SmsTemplateCode; //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.TemplateParam = JsonUtilities.Serialize(new { code = code }); //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 request.OutId = "0"; //请求失败这里会抛ClientException异常 SendSmsResponse sendSmsResponse = acsClient.GetAcsResponse(request); } catch (Exception e) { MiddleTier.LogManager.Error(e); } }
/// <summary> /// time: 2020-7-2 /// message:发送短信封装方法 /// author:Thomars /// </summary> /// <param name="PhoneNumbers">手机号码</param> /// <param name="SignName">短信签名</param> /// <param name="TemplateCode">模版编号</param> /// <param name="TemplateParam">模版</param> /// <returns></returns> public string SendSms(string PhoneNumbers, string SignName, string TemplateCode, string TemplateParam) { try { String product = "Dysmsapi"; //短信API产品名称(短信产品名固定,无需修改) String domain = "dysmsapi.aliyuncs.com"; //短信API产品域名(接口地址固定,无需修改) String accessKeyId = "LTAI4GDFrkcmPmLMV9mPbrxa"; //"LTAIYcJupvlyI3Wj";//你的accessKeyId,参考本文档步骤2 String accessKeySecret = "g8LY92a1cFv0eDHJVOOq7IVMIu2A0E"; //"wwWGIV226n7O0Hmxyrah4zDqRq70RO";//你的accessKeySecret,参考本文档步骤2 IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", accessKeyId, accessKeySecret); //IAcsClient client = new DefaultAcsClient(profile); // SingleSendSmsRequest request = new SingleSendSmsRequest(); //初始化ascClient,暂时不支持多region(请勿修改) DefaultProfile.AddEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); SendSmsRequest request = new SendSmsRequest(); //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式,发送国际/港澳台消息时,接收号码格式为00+国际区号+号码,如“0085200000000” request.PhoneNumbers = PhoneNumbers; //必填:短信签名-可在短信控制台中找到 request.SignName = SignName; //必填:短信模板-可在短信控制台中找到 request.TemplateCode = TemplateCode; //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.TemplateParam = TemplateParam; // "{\"name\":\"Tom\", \"code\":\"123\"}"; //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 request.OutId = "yourOutId"; //可以忽略 //请求失败这里会抛ClientException异常 SendSmsResponse sendSmsResponse = acsClient.GetAcsResponse(request); return(sendSmsResponse.Message); } catch (Exception) { throw; } }
static void Main(string[] args) { DefaultProfile profile = DefaultProfile.GetProfile(regionIdForPop, accessId, accessSecret); profile.AddEndpoint(regionIdForPop, regionIdForPop, product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); SendSmsRequest request = new SendSmsRequest(); try { //request.SignName = "上云预发测试";//"管理控制台中配置的短信签名(状态必须是验证通过)" //request.TemplateCode = "SMS_71130001";//管理控制台中配置的审核通过的短信模板的模板CODE(状态必须是验证通过)" //request.RecNum = "13567939485";//"接收号码,多个号码可以逗号分隔" //request.ParamString = "{\"name\":\"123\"}";//短信模板中的变量;数字需要转换为字符串;个人用户每个变量长度必须小于15个字符。" //SingleSendSmsResponse httpResponse = client.GetAcsResponse(request); request.PhoneNumbers = "18843406621"; request.SignName = "李华明"; request.TemplateCode = "SMS_140275003"; request.TemplateParam = "{\"code\":\"dazhutizi\"}"; request.OutId = "xxxxxxxx"; //请求失败这里会抛ClientException异常 SendSmsResponse sendSmsResponse = acsClient.GetAcsResponse(request); System.Console.WriteLine(sendSmsResponse.Message); } catch (ServerException e) { System.Console.WriteLine("ServerException"); } catch (ClientException e) { System.Console.WriteLine("ClientException"); } }
public static void SendMsg() { IClientProfile profile = DefaultProfile.GetProfile(regionIdForPop, accessId, accessSecret); DefaultProfile.AddEndpoint(regionIdForPop, regionIdForPop, product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); SendSmsRequest request = new SendSmsRequest(); try { //request.SignName = "上云预发测试";//"管理控制台中配置的短信签名(状态必须是验证通过)" //request.TemplateCode = "SMS_71130001";//管理控制台中配置的审核通过的短信模板的模板CODE(状态必须是验证通过)" //request.RecNum = "13567939485";//"接收号码,多个号码可以逗号分隔" //request.ParamString = "{\"name\":\"123\"}";//短信模板中的变量;数字需要转换为字符串;个人用户每个变量长度必须小于15个字符。" //SingleSendSmsResponse httpResponse = client.GetAcsResponse(request); request.PhoneNumbers = "1350000000"; request.SignName = "xxxxxx"; request.TemplateCode = "SMS_xxxxxxx"; request.TemplateParam = "{\"code\":\"123\"}"; request.OutId = "xxxxxxxx"; //请求失败这里会抛ClientException异常 SendSmsResponse sendSmsResponse = acsClient.GetAcsResponse(request); //todo 接口错误码 https://help.aliyun.com/knowledge_detail/57717.html?spm=5176.doc56189.6.582.Emujs1 //System.Console.WriteLine(sendSmsResponse.Message); } catch (ServerException e) { System.Console.WriteLine("ServerException"); } catch (ClientException e) { System.Console.WriteLine("ClientException"); } }
public static SendSmsResponse sendSms() { 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 = "19940867612"; //必填:短信签名-可在短信控制台中找到 request.SignName = "小龙�?123"; //必填:短信模板-可在短信控制台中找到 request.TemplateCode = "SMS_135027712"; //可�??:模板中的变量替换JSON�?,如模板内容为"亲爱�?${name},您的验证码为${code}"�?,此处的�?�为 request.TemplateParam = "{\"code\":\"123456\"}"; //可�??: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); }
public static string querySendDetailsByMobile(string mobile) { //初始化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 = mobile; //可选-流水号 // request.BizId = bizId; //必填-发送日期 支持30天内记录查询,格式yyyyMMdd request.SendDate = DateTime.Now.ToString("yyyyMMdd"); //必填-页大小 request.PageSize = 10; //必填-当前页码从1开始计数 request.CurrentPage = 1; QuerySendDetailsResponse querySendDetailsResponse = null; try { querySendDetailsResponse = acsClient.GetAcsResponse(request); } catch (ServerException e) { return("查询出错!"); } string json = ""; json = "{\"data\":\"" + querySendDetailsResponse.SmsSendDetailDTOs[0].Content + "\"}"; return(json); }
public static SendSmsResponse sendSms(string phone, string verCode) { 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 = phone; //必填:短信签名-可在短信控制台中找到 request.SignName = "大富豪"; //必填:短信模板-可在短信控制台中找到 request.TemplateCode = "SMS_133510033"; //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.TemplateParam = "{\"code\":\"" + verCode + "\"}"; //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 request.OutId = "yourOutId"; //请求失败这里会抛ClientException异常 response = acsClient.GetAcsResponse(request); } catch (Aliyun.Acs.Core.Exceptions.ServerException e) { Debug.Log(e.ErrorCode); } catch (ClientException e) { Debug.Log(e.ErrorCode); } return(response); }
public string Send(string name, string info, params string[] phoneNumbers) { IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", _configure.Id, _configure.Secret); DefaultProfile.AddEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); SendSmsRequest request = new SendSmsRequest(); try { //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式 request.PhoneNumbers = string.Join(",", phoneNumbers); //必填:短信签名-可在短信控制台中找到 request.SignName = "一幕"; //必填:短信模板-可在短信控制台中找到 request.TemplateCode = _configure.SmsType[name]; //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.TemplateParam = info; //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 request.OutId = outId; //请求失败这里会抛ClientException异常 SendSmsResponse sendSmsResponse = acsClient.GetAcsResponse(request); return(sendSmsResponse.BizId); } catch (ServerException e) { throw e; } catch (ClientException e) { throw e; } }
public static bool VcodeIsSuccess(string session, string sig, string token, string scene) { bool result = false; //YOUR ACCESS_KEY、YOUR ACCESS_SECRET请替换成您的阿里云accesskey id和secret IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", "", ""); IAcsClient client = new DefaultAcsClient(profile); DefaultProfile.AddEndpoint("cn-hangzhou", "cn-hangzhou", "jaq", "jaq.aliyuncs.com"); AfsCheckRequest request = new AfsCheckRequest(); request.Platform = 3; //必填参数,请求来源: 1:Android端; 2:iOS端; 3:PC端及其他 request.Session = session; // 必填参数,从前端获取,不可更改 request.Sig = sig; // 必填参数,从前端获取,不可更改 request.Token = token; // 必填参数,从前端获取,不可更改 request.Scene = scene; // 必填参数,从前端获取,不可更改 try { AfsCheckResponse response = client.GetAcsResponse(request); // TODO result = (bool)response.Data; } catch (Exception ex) { //Console.WriteLine(e.ToString()); //throw new Exception(ex.Message); result = false; } return(result); }
public AliyunSmsClient() { var aliyunSmsSettting = AliyunSmsHelper.GetSettingsFunc(); if (aliyunSmsSettting == null) { throw new SmsException("请配置短信服务相关配置!"); } if (string.IsNullOrWhiteSpace(aliyunSmsSettting.SignName)) { throw new SmsException("签名不能为空!"); } try { AliyunSmsHelper.LoggerAction("Debug", "SmsSettings:" + JsonConvert.SerializeObject(aliyunSmsSettting)); this.AliyunSmsSettting = aliyunSmsSettting; var product = aliyunSmsSettting.Product; //短信API产品名称(短信产品名固定,无需修改) var domain = aliyunSmsSettting.Domain; //短信API产品域名(接口地址固定,无需修改) var accessKeyId = aliyunSmsSettting.AccessKeyId; //你的accessKeyId,参考本文档步骤2 var accessKeySecret = aliyunSmsSettting.AccessKeySecret; //你的accessKeySecret,参考本文档步骤2 var profile = DefaultProfile.GetProfile(aliyunSmsSettting.RegionId, accessKeyId, accessKeySecret); DefaultProfile.AddEndpoint(aliyunSmsSettting.EndpointName, aliyunSmsSettting.RegionId, product, domain); AcsClient = new DefaultAcsClient(profile); AliyunSmsHelper.LoggerAction("Debug", "已创建AcsClient。"); } catch (Exception ex) { AliyunSmsHelper.LoggerAction("Error", ex.ToString()); throw new SmsException("配置出错,请检查配置!"); } }
/// <summary> /// 发送短信验证码 /// </summary> /// <returns></returns> private SendSmsResponse RequestSendFromApi(string phone) { IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", AccessKeyId, AccessKeySecret); DefaultProfile.AddEndpoint("cn-hangzhou", "cn-hangzhou", Product, Domain); IAcsClient acsClient = new DefaultAcsClient(profile); var request = new SendSmsRequest(); SendSmsResponse response; try { //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式 request.PhoneNumbers = phone; //必填:短信签名-可在短信控制台中找到 request.SignName = SignName; //必填:短信模板-可在短信控制台中找到 request.TemplateCode = TemplateCode; //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.TemplateParam = _templatePattern; //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 request.OutId = OutId; //请求失败这里会抛ClientException异常 response = acsClient.GetAcsResponse(request); } catch { return(null); } return(response); }
public static SendSmsResponse sendSms(AliyunSendMsgModel msg) { 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 = msg.PhoneNumbers; //必填:短信签名-可在短信控制台中找到 request.SignName = msg.SignName; //必填:短信模板-可在短信控制台中找到 request.TemplateCode = msg.TemplateCode; //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.TemplateParam = msg.TemplateParam; //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 request.OutId = msg.OutId; //请求失败这里会抛ClientException异常 response = acsClient.GetAcsResponse(request); } catch (ServerException e) { Console.WriteLine(e.ErrorCode); } catch (ClientException e) { Console.WriteLine(e.ErrorCode); } return(response); }
private static string accessKeySecret = "NuW1BiPbBRxGTYvyB6zASvjUccaDOd"; //你的accessKeySecret private bool Send(string mobile, string template, string param) { var result = true; 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(); try { //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为20个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式 request.PhoneNumbers = mobile; //必填:短信签名-可在短信控制台中找到 request.SignName = "五福天下"; //必填:短信模板-可在短信控制台中找到 request.TemplateCode = template; //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.TemplateParam = param; //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 request.OutId = "21212121211"; //请求失败这里会抛ClientException异常 SendSmsResponse sendSmsResponse = acsClient.GetAcsResponse(request); } catch (ServerException e) { result = false; } catch (ClientException e) { result = false; } return(result); }
internal static AliYunSmsResponse SMSRequest(SendSmsRequest request) { AliYunSmsResponse rsp = new AliYunSmsResponse(); IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", Config.accessKeyId, Config.accessKeySecret); DefaultProfile.AddEndpoint("cn-hangzhou", "cn-hangzhou", Config.product, Config.domain); IAcsClient acsClient = new DefaultAcsClient(profile); try { SendSmsResponse sendSmsResponse = acsClient.GetAcsResponse(request); rsp = CheckSMSCode.CheckResponse(sendSmsResponse.Code); } catch (ServerException e) { rsp.IsSuccess = false; rsp.ErrorMsg = e.Message; } catch (ClientException e) { rsp.IsSuccess = false; rsp.ErrorMsg = e.Message; } return(rsp); }
public AliyunSms(CloudAccess access) : base(access) { DefaultProfile.AddEndpoint(access.Endpoint, access.Endpoint, "Dysmsapi", "dysmsapi.aliyuncs.com"); var profile = DefaultProfile.GetProfile(access.Endpoint, access.AccessKeyId, access.AccessKeySecret); Client = new DefaultAcsClient(profile); }
public static DefaultAcsClient getAliApiClient(string accessKey, string accessSecret) { DefaultProfile.AddEndpoint("cn-shanghai", "cn-shanghai", "Iot", "iot.cn-shanghai.aliyuncs.com"); IClientProfile clientProfile = DefaultProfile.GetProfile("cn-shanghai", accessKey, accessSecret); DefaultAcsClient client = new DefaultAcsClient(clientProfile); return(client); }
public bool SmsMessage111(List <string> listReceipts, string content, out string msg, string smsTemplateCode = "") { msg = ""; //产品名称:云通信短信API产品,开发者无需替换 string product = "Dysmsapi"; //产品域名,开发者无需替换 string domain = "dysmsapi.aliyuncs.com"; // TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找) String accessKeyId = AliSmsConfig.AliAppKey; String accessKeySecret = AliSmsConfig.AliAppSecret; StringBuilder mphone = new StringBuilder(); foreach (var item in listReceipts) { if (!string.IsNullOrEmpty(mphone.ToString())) { mphone.Append(","); } mphone.Append(item); } 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; bool rst = false; try { //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式 request.PhoneNumbers = mphone.ToString(); //"13710218209,18824867279"; //必填:短信签名-可在短信控制台中找到 request.SignName = AliSmsConfig.AliSignName; // "感知万物"; //必填:短信模板-可在短信控制台中找到 request.TemplateCode = string.IsNullOrEmpty(smsTemplateCode) ? AliSmsConfig.AliTemplateCode : smsTemplateCode; //"SMS_137410645"; //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.TemplateParam = content; //"{\"moduleName\":\"测试\"}"; //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 request.OutId = "yourOutId"; //请求失败这里会抛ClientException异常 response = acsClient.GetAcsResponse(request); rst = response.Code.ToLower().Equals("ok") ? true : false; msg = rst == false ? "发送短信失败" : ""; } catch (ServerException e) { msg = e.ErrorMessage; //Console.WriteLine(e.ErrorCode); } catch (ClientException e) { msg = e.ErrorMessage; //Console.WriteLine(e.ErrorCode); } return(rst); }
public static IAcsClient InitAcsClient(String regionIdForPop, String accessId, String accessSecret, String productName, String domainForPop) { IClientProfile profile = DefaultProfile.GetProfile(regionIdForPop, accessId, accessSecret); DefaultProfile.AddEndpoint(regionIdForPop, regionIdForPop, productName, domainForPop); IAcsClient acsClient = new DefaultAcsClient(profile); return(acsClient); }
public SMSMessageService(ISettingService settingService) { this._settingService = settingService; this.accessKeyId = settingService.GetSettingByKey <string>(MediaSettingNames.AccessKeyId); this.accessKeySecret = settingService.GetSettingByKey <string>(MediaSettingNames.AccessKeySecret); _clientProfile = DefaultProfile.GetProfile("cn-hangzhou", accessKeyId, accessKeySecret); DefaultProfile.AddEndpoint("cn-hangzhou", "cn-hangzhou", "Dysmsapi", "dysmsapi.aliyuncs.com"); }
/// <summary> /// 初始化vod获取客户端信息 /// </summary> /// <param name="regionId">如果是外国的源可以用这个方法</param> /// <returns></returns> public DefaultAcsClient InitVodClient(string regionId) { IClientProfile profile = DefaultProfile.GetProfile(regionId, AliyunAccessConfigInfo.AccessKeyId, AliyunAccessConfigInfo.AccessKeySecret); DefaultProfile.AddEndpoint(regionId, regionId, "vod", "vod." + regionId + ".aliyuncs.com"); var client = new DefaultAcsClient(profile); return(client); }