/// <summary> /// 发送短信 /// </summary> /// <param name="config"></param> /// <returns></returns> public MmbjSendSmsResult SendSms(MmbjSMSConfig config) { //类型不可转换,那么报错 if (!(config is AliyunSendSMSConfig sendSmsConfig)) { throw new ArgumentException("参数类型传输错误"); } var regionId = string.IsNullOrWhiteSpace(sendSmsConfig.RegionId) ? "default" : sendSmsConfig.RegionId.Trim(); IClientProfile profile = DefaultProfile.GetProfile(sendSmsConfig.RegionId, sendSmsConfig.AccessKeyId, sendSmsConfig.AccessSecret); DefaultAcsClient client = new DefaultAcsClient(profile); CommonRequest request = new CommonRequest(); request.Method = MethodType.POST; request.Domain = "dysmsapi.aliyuncs.com"; request.Version = "2017-05-25"; request.Action = "SendSms"; // request.Protocol = ProtocolType.HTTP; request.AddQueryParameters("PhoneNumbers", sendSmsConfig.PhoneNumbers); request.AddQueryParameters("SignName", sendSmsConfig.SignName); request.AddQueryParameters("TemplateCode", sendSmsConfig.TemplateCode); request.AddQueryParameters("TemplateParam", sendSmsConfig.TemplateParam); request.AddQueryParameters("SmsUpExtendCode", sendSmsConfig.SmsUpExtendCode); request.AddQueryParameters("OutId", sendSmsConfig.OutId); try { CommonResponse response = client.GetCommonResponse(request); //Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content)); return(JsonConvert.DeserializeObject <AliyunSendSmsResult>(response.Data)); } catch (ServerException e) { Console.WriteLine(e); return(new AliyunSendSmsResult() { Message = "短信服务器错误", Code = "AliServerError", RequestId = string.Empty }); } catch (ClientException e) { Console.WriteLine(e); return(new AliyunSendSmsResult() { Message = "短信客户端错误", Code = "AliClientError", RequestId = string.Empty }); } }
/// <summary> /// 发送短信 /// </summary> /// <param name="config"></param> /// <returns></returns> public MmbjSendSmsResult SendSms(MmbjSMSConfig config) { //类型不可转换,那么报错 if (!(config is CCPSendSMSConfig sendSmsConfig)) { throw new ArgumentException("参数类型传输错误"); } CCPRestSDK api = new CCPRestSDK(); //ip格式如下,不带https:// bool isInit = api.init(sendSmsConfig.RestAddress, sendSmsConfig.RestPort); api.setAccount(sendSmsConfig.AccountSid, sendSmsConfig.AccountToken); api.setAppId(sendSmsConfig.AppId); try { if (isInit) { CCPResponseStatus ccpResponseStatus = api.SendTemplateSMS(sendSmsConfig.PhoneNumbers, sendSmsConfig.TemplateCode, sendSmsConfig.Params); return(new CCPSendSmsResult() { Code = ccpResponseStatus.StatusCode == "000000" ? "OK" : ccpResponseStatus.StatusCode, Message = ccpResponseStatus.StatusMsg, RequestId = ccpResponseStatus.TemplateSMS?.SmsMessageSid ?? "" }); } else { return(new CCPSendSmsResult() { Message = "初始化失败", Code = "CCPServerError", RequestId = string.Empty }); } } catch (Exception exc) { return(new CCPSendSmsResult() { Message = "运行错误", Code = "CCPClientError", RequestId = string.Empty }); } }