示例#1
0
        public async Task <SmsRsp <QuerySendDetailsResponse.QuerySendDetails_SmsSendDetailDTO> > QuerySendDetails(AliyunSmsQuerySendDetailsInput input)
        {
            var result = new SmsRsp <QuerySendDetailsResponse.QuerySendDetails_SmsSendDetailDTO>();

            try
            {
                var rsp = await _client.QuerySendDetails(input);

                if ("OK".Equals(rsp.Code, StringComparison.CurrentCultureIgnoreCase))
                {
                    result.Success = true;
                    result.Data    = rsp.SmsSendDetailDTOs;
                }
                else
                {
                    result.Success = false;
                    result.RspMsg  = rsp.Message;
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.RspCode = string.Empty;
                result.RspMsg  = ex.Message;
            }

            return(result);
        }
        public async Task <SmsRsp> SendTemplateSms(string[] mobiles, string templateId, Dictionary <string, string> parameters, string sign = "")
        {
            var result = new SmsRsp();

            try
            {
                var input = new ChinaMobileHttpTemplateSms
                {
                    EcName     = _options.EcName,
                    ApId       = _options.AppId,
                    SecretKey  = _options.AppSecret,
                    Mobiles    = mobiles,
                    TemplateId = templateId,
                    Params     = parameters.Values.ToArray(),
                    Sign       = string.IsNullOrWhiteSpace(sign) ? _options.Sign : sign,
                    AddSerial  = _options.AddSerial,
                    Url        = _options.TmpSubmitUrl
                };

                var rsp = await _client.SendTemplateSms(input);

                result.Success = rsp.Success;
                result.RspCode = rsp.Rspcod;
                result.RspMsg  = EnumHelper.GetEnumDesc <ChinaMobileHttpRspCode>(rsp.Rspcod);
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.RspCode = string.Empty;
                result.RspMsg  = ex.Message;
            }

            return(result);
        }
        public async Task <SmsRsp> SendNormalSms(string[] mobiles, string content, string sign = "")
        {
            var result = new SmsRsp();

            try
            {
                var input = new ChinaMobileHttpNormalSms
                {
                    EcName    = _options.EcName,
                    ApId      = _options.AppId,
                    SecretKey = _options.AppSecret,
                    Mobiles   = mobiles,
                    Content   = content,
                    Sign      = string.IsNullOrWhiteSpace(sign) ? _options.Sign : sign,
                    AddSerial = _options.AddSerial,
                    Url       = _options.NorSubmitUrl
                };

                var rsp = await _client.SendNormalSms(input);

                result.Success = rsp.Success;
                result.RspCode = rsp.Rspcod;
                result.RspMsg  = EnumHelper.GetEnumDesc <ChinaMobileHttpRspCode>(rsp.Rspcod);
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.RspCode = string.Empty;
                result.RspMsg  = ex.Message;
            }

            return(result);
        }
示例#4
0
        public async Task <SmsRsp> SendTemplateSms(string[] mobiles, string templateId,
                                                   Dictionary <string, string> parameters, string sign = "")
        {
            var result = new SmsRsp();

            try
            {
                var input = new AliyunSmsTemplate
                {
                    TemplateCode = templateId,
                    Mobiles      = mobiles,
                    Params       = parameters,
                    SignName     = string.IsNullOrWhiteSpace(sign) ? _options.Sign : sign
                };

                var rsp = await _client.SendTemplateSms(input);

                if ("OK".Equals(rsp.Code, StringComparison.CurrentCultureIgnoreCase))
                {
                    result.Success = true;
                }
                else
                {
                    result.Success = false;
                    result.RspMsg  = rsp.Message;
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.RspCode = string.Empty;
                result.RspMsg  = ex.Message;
            }

            return(result);
        }