Esempio n. 1
0
        /// <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
                });
            }
        }
Esempio n. 2
0
        /// <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
                });
            }
        }