Exemple #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            IClientProfile   profile = DefaultProfile.GetProfile("cn-hangzhou", "LTAI4Fvz7m6iggRvBuu6fdqG", "WzfhsSfgisHar3lUtIXxN0SkW6oyOu");
            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", "13917571446");
            request.AddQueryParameters("SignName", "极风文字语音转换");
            request.AddQueryParameters("TemplateCode", "SMS_183855040");
            request.AddQueryParameters("TemplateParam", "{\"code\":\"nhpl\"}");
            try
            {
                CommonResponse response = client.GetCommonResponse(request);
                Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
            }
            catch (ServerException ex)
            {
                Console.WriteLine(ex);
            }
            catch (ClientException ex)
            {
                Console.WriteLine(ex);
            }
        }
Exemple #2
0
        private void SendMessageToMe()
        {
            var profile = DefaultProfile.GetProfile("cn-hangzhou", "", "");

            var client = new DefaultAcsClient(profile);

            CommonRequest request = new CommonRequest()
            {
                Method  = MethodType.POST,
                Domain  = "dysmsapi.aliyuncs.com",
                Version = "2017-05-25",
                Action  = "SendSms",
            };

            request.AddQueryParameters("PhoneNumbers", "123456789");
            request.AddQueryParameters("SignName", "晚归提醒");
            request.AddQueryParameters("TemplateCode", "SMS_164590230");
            request.AddQueryParameters("TemplateParam", "{code:200}");

            try
            {
                CommonResponse response = client.GetCommonResponse(request);

                label1.Text = Encoding.UTF8.GetString(response.HttpResponse.Content);
            }
            catch (Exception e)
            {
                label1.Text = e.ToString();
                throw;
            }
        }
Exemple #3
0
        /// <summary>
        /// 发送(阿里云短信)
        /// </summary>
        /// <param name="mobile">手机</param>
        /// <param name="code">验证码</param>
        /// <param name="template">模版</param>
        /// <returns></returns>
        public static string SendSmsByAli(string mobile, string code, string template)
        {
            //注册验证码
            //var msg = SmsHelper.SendSmsByAli("15215105588", "123456", "SMS_177245306");
            //找回密码验证码
            //var msg = SmsHelper.SendSmsByAli("15215105588", "987654", "SMS_177245315");

            IClientProfile   profile = DefaultProfile.GetProfile("cn-hangzhou", accessKeyId, accessKeySecret);
            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.AddQueryParameters("PhoneNumbers", mobile);
            request.AddQueryParameters("SignName", "BlogSystem");
            request.AddQueryParameters("TemplateCode", template);
            request.AddQueryParameters("TemplateParam", "{\"code\":\"" + code + "\"}");
            try
            {
                CommonResponse response = client.GetCommonResponse(request);
                return(MessageHandle(System.Text.Encoding.Default.GetString(response.HttpResponse.Content)));
            }
            catch (ServerException e)
            {
                LogFactory.GetLogger().Error(e.Message);
                return(null);
            }
            catch (ClientException e)
            {
                LogFactory.GetLogger().Error(e.Message);
                return(null);
            }
        }
Exemple #4
0
        public static bool SendMessage(string phoneNum, string code)
        {
            IClientProfile   profile = DefaultProfile.GetProfile("cn-hangzhou", "LTAI8VrzTlV4qVdi", "ws2oOs5Ivveu0UFfpa8PUwfo78AUzj");
            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", phoneNum);
            request.AddQueryParameters("SignName", "浪舟子");
            request.AddQueryParameters("TemplateCode", "SMS_168250218");
            string codeStr = "{\"code\":\"" + code + "\"}";

            request.AddQueryParameters("TemplateParam", codeStr);
            try
            {
                CommonResponse response = client.GetCommonResponse(request);
            }
            catch (ServerException e)
            {
                MessageBox.Show(e.ToString());
            }
            catch (ClientException e)
            {
                MessageBox.Show(e.ToString());
            }
            return(true);
        }
Exemple #5
0
        public void SendSMS(string phoneNumber, TemplateCode templateCode, string signName = "signName")
        {
            IClientProfile   profile = DefaultProfile.GetProfile("default", ConfigurationManager.AppSettings["accessKeyId"], ConfigurationManager.AppSettings["accessSecret"]);
            DefaultAcsClient client  = new DefaultAcsClient(profile);
            CommonRequest    request = new CommonRequest
            {
                Method  = MethodType.POST,
                Domain  = "dysmsapi.aliyuncs.com",
                Version = "2017-05-25",
                Action  = "SendSms"
            };

            // request.Protocol = ProtocolType.HTTP;
            request.AddQueryParameters("PhoneNumbers", phoneNumber);
            request.AddQueryParameters("SignName", ConfigurationManager.AppSettings[signName]);
            request.AddQueryParameters("TemplateCode", ConfigurationManager.AppSettings[templateCode.ToString()]);
            try
            {
                CommonResponse response = client.GetCommonResponse(request);
                Console.WriteLine(Encoding.Default.GetString(response.HttpResponse.Content));
            }
            catch (ServerException e)
            {
                Console.WriteLine(e);
            }
            catch (ClientException e)
            {
                Console.WriteLine(e);
            }
        }
Exemple #6
0
        public void Send(string message)
        {
            IClientProfile   profile = DefaultProfile.GetProfile("default", Secret.AliyunSecretId, Secret.AliyunSecretKey);
            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", "18107718055");
            request.AddQueryParameters("SignName", "青云微笙");
            request.AddQueryParameters("TemplateCode", "SMS_171853916");
            request.AddQueryParameters("TemplateParam", "{'name':' " + message + "'}");
            try
            {
                CommonResponse response = client.GetCommonResponse(request);
                _logger.LogInformation(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
            }
            catch (ServerException e)
            {
                _logger.LogError(e.ToString());
            }
            catch (ClientException e)
            {
                _logger.LogError(e.ToString());
            }
        }
Exemple #7
0
        public static void SendFailSms <T>(List <string> PhoneNum, List <T> failDto)
        {
            IClientProfile   profile = DefaultProfile.GetProfile("cn-hangzhou", "______", "________");
            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  = "SendBatchSms";
            // request.Protocol = ProtocolType.HTTP;
            request.AddQueryParameters("PhoneNumberJson", ListToStringList(PhoneNum));
            request.AddQueryParameters("SignNameJson", GetSignNameString(failDto.Count));
            request.AddQueryParameters("TemplateCode", "SMS_199760197");
            request.AddQueryParameters("TemplateParamJson", GetJsonTemplateParamJson(failDto));
            try
            {
                CommonResponse response = client.GetCommonResponse(request);
                Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
            }
            catch (ServerException e)
            {
                Console.WriteLine(e);
            }
            catch (ClientException e)
            {
                Console.WriteLine(e);
            }
        }
        private void senSMS(string mobile_phone_num, string verification_code)
        {
            IClientProfile   profile = DefaultProfile.GetProfile("cn-hangzhou", "LTAI4FtZoCWx7m9dRkZDGU6y", "8pfL5CgBOrkz3YFn7g0fgBUDh92mRu");
            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", mobile_phone_num);
            request.AddQueryParameters("SignName", "绿徒体育");
            request.AddQueryParameters("TemplateCode", "SMS_181785136");
            request.AddQueryParameters("TemplateParam", "{\"code\":\"" + verification_code + "\"}");
            try
            {
                CommonResponse response = client.GetCommonResponse(request);
                Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
            }
            catch (ServerException e)
            {
                Console.WriteLine(e);
            }
            catch (ClientException e)
            {
                Console.WriteLine(e);
            }
        }
Exemple #9
0
        /// <summary>
        /// 查询发送记录
        /// </summary>
        /// <param name="phoneNumbers"></param>
        /// <param name="sendDate"></param>
        /// <param name="pageSize"></param>
        /// <param name="currentPage"></param>
        /// <param name="bizId"></param>
        /// <returns></returns>
        internal QuerySmsResponse QuerySendRecords(string phoneNumbers, DateTime sendDate, int pageSize = 10, int currentPage = 1, string bizId = null)
        {
            CommonRequest request = new CommonRequest
            {
                Method  = MethodType.POST,
                Domain  = "dysmsapi.aliyuncs.com",
                Version = "2017-05-25",
                Action  = "QuerySendDetails"
            };

            request.AddQueryParameters("PhoneNumber", phoneNumbers);
            request.AddQueryParameters("SendDate", sendDate.ToString("yyyyMMdd"));
            request.AddQueryParameters("PageSize", pageSize.ToString());
            request.AddQueryParameters("CurrentPage", currentPage.ToString());
            if (!string.IsNullOrWhiteSpace(bizId))
            {
                request.AddQueryParameters("BizId", bizId);
            }
            try
            {
                CommonResponse   response = acsClient.GetCommonResponse(request);
                QuerySmsResponse querySmsResponseMessage = Newtonsoft.Json.JsonConvert.DeserializeObject <QuerySmsResponse>(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
                return(querySmsResponseMessage);
            }
            catch (ServerException e)
            {
                logger.LogError(e, "Aliyuncs dysmsapi Server Exception");
                return(null);
            }
            catch (ClientException e)
            {
                logger.LogError(e, "Aliyun Client Exception");
                return(null);
            }
        }
Exemple #10
0
        public void sendMsg(string mobile)
        {
            IClientProfile   profile = DefaultProfile.GetProfile("default", "LTAIKq0r0wXeCOO7", "U2IDaGVEH3cl9Xsv9RKnodi5BA0ZML");
            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("SignName", "舆情宝");
            request.AddQueryParameters("PhoneNumbers", mobile);
            request.AddQueryParameters("TemplateCode", "SMS_167963792");
            request.AddQueryParameters("TemplateParam", "{'code':'8888',}");
            try
            {
                CommonResponse response = client.GetCommonResponse(request);
                Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
            }
            catch (ServerException ex)
            {
                MessageBox.Show(ex.ToString());
            }
            label7.Text = "已成功发送消息!";
        }
Exemple #11
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="phoneNumbers"></param>
        /// <param name="templateCode"></param>
        /// <param name="templateParam"></param>
        /// <returns></returns>
        internal SendSmsResponse SendSms(string phoneNumbers, string templateCode, string templateParam)
        {
            CommonRequest request = new CommonRequest
            {
                Method  = MethodType.POST,
                Domain  = "dysmsapi.aliyuncs.com",
                Version = "2017-05-25",
                Action  = "SendSms"
            };

            // request.Protocol = ProtocolType.HTTP;
            request.AddQueryParameters("PhoneNumbers", phoneNumbers);
            request.AddQueryParameters("SignName", aliYunSmsOptions.SignName);
            request.AddQueryParameters("TemplateCode", templateCode);
            request.AddQueryParameters("TemplateParam", templateParam);
            try
            {
                CommonResponse  response = acsClient.GetCommonResponse(request);
                SendSmsResponse sendSmsResponseMessage = Newtonsoft.Json.JsonConvert.DeserializeObject <SendSmsResponse>(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
                return(sendSmsResponseMessage);
            }
            catch (ServerException e)
            {
                logger.LogError(e, "Aliyuncs dysmsapi Server Exception");
                return(null);
            }
            catch (ClientException e)
            {
                logger.LogError(e, "Aliyun Client Exception");
                return(null);
            }
        }
Exemple #12
0
        public async Task SendAsync(string phone, string templateId, object obj)
        {
            if (_config.AccessKeyId.IsNullOrWhiteSpace() || _config.AccessKeySecret.IsNullOrWhiteSpace())
            {
                Logger.Warn($"Using AliYunSmsSender, but not config well!");
                return;
            }

            IClientProfile   profile = DefaultProfile.GetProfile("default", _config.AccessKeyId, _config.AccessKeySecret);
            DefaultAcsClient client  = new DefaultAcsClient(profile);
            CommonRequest    request = new CommonRequest();

            request.Method  = MethodType.POST;
            request.Domain  = _config.SmsEndpoint;
            request.Version = "2017-05-25";
            request.Action  = "SendSms";
            // request.Protocol = ProtocolType.HTTP;
            request.AddQueryParameters("PhoneNumbers", phone);
            request.AddQueryParameters("SignName", _config.SignName);        //短信签名
            request.AddQueryParameters("TemplateCode", templateId);
            request.AddQueryParameters("TemplateParam", obj.ToJsonString()); //json字符串
            try
            {
                CommonResponse response = client.GetCommonResponse(request);
                Logger.Debug(Encoding.Default.GetString(response.HttpResponse.Content));
            }
            catch (ServerException e)
            {
                Logger.Error($"AliYunSmsSender ServerException:{e.Message}", e);
            }
            catch (ClientException e)
            {
                Logger.Error($"AliYunSmsSender ClientException:{e.Message}", e);
            }
        }
Exemple #13
0
        public static void SendMessage(string phoneNumber, string code)
        {
            /*
             *  accessKeyId: LTAI4GB4yjjrQzr7TuYEiVa6
             *  accessKeySecret: b5JVF50XjGU3tmxcHE5lgcHc3jyMvF
             */
            IClientProfile   profile = DefaultProfile.GetProfile("cn-hangzhou", "LTAI4GB4yjjrQzr7TuYEiVa6", "b5JVF50XjGU3tmxcHE5lgcHc3jyMvF");
            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", phoneNumber);                    // 电话号码
            request.AddQueryParameters("SignName", "朝夕教育Eleven");                       // 签名模板的名称
            request.AddQueryParameters("TemplateCode", "SMS_210070060");                // 验证码模板ID
            request.AddQueryParameters("TemplateParam", "{\"code\":\"" + code + "\"}"); // 验证码
            try
            {
                CommonResponse response = client.GetCommonResponse(request);
                Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
            }
            catch (ServerException e)
            {
                Console.WriteLine(e);
            }
            catch (ClientException e)
            {
                Console.WriteLine(e);
            }
        }
Exemple #14
0
        public static bool SendSms(string mobile, string code)
        {
            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", mobile);
            request.AddQueryParameters("SignName", SignName);
            request.AddQueryParameters("TemplateCode", TemplateCode);
            request.AddQueryParameters("TemplateParam", "{\"code\":\"" + code + "\"}");
            try
            {
                CommonResponse response = _client.GetCommonResponse(request);
                var            result   = System.Text.Encoding.Default.GetString(response.HttpResponse.Content);
                return(result.Contains("OK"));
            }
            catch (Exception ex)
            {
                throw new NotImplementedException(ex.Message);
            }
            //catch (ServerException e)
            //{
            //}
            //catch (ClientException e)
            //{
            //    Console.WriteLine(e);
            //}
        }
Exemple #15
0
        public Task SendSmsAsync(string number, string message)
        {
            IClientProfile   profile = DefaultProfile.GetProfile("cn-hangzhou", senderOptions.AliAccessKey, senderOptions.AliAccessSecret);
            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", number);
            request.AddQueryParameters("SignName", senderOptions.AliSignName);
            request.AddQueryParameters("TemplateCode", senderOptions.AliTemplateCode);
            request.AddQueryParameters("TemplateParam", "{\"code\":\"" + message + "\"}");
            try
            {
                CommonResponse response = client.GetCommonResponse(request);
                Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
            }
            catch (ServerException e)
            {
                Console.WriteLine(e);
            }
            catch (ClientException e)
            {
                Console.WriteLine(e);
            }
            return(Task.FromResult(0));
        }
        public static AliCloudMessageResponse Send(AliCloudMessageConfig form)
        {
            AliCloudMessageResponse rtn = new AliCloudMessageResponse();

            try
            {
                IClientProfile   profile = DefaultProfile.GetProfile("cn-hangzhou", form.LoginName, form.VerifyKey);
                DefaultAcsClient client  = new DefaultAcsClient(profile);
                CommonRequest    request = new CommonRequest();
                request.Method  = MethodType.POST;
                request.Domain  = form.Domain;
                request.Version = "2017-05-25";
                request.Action  = "SendSms";
                // request.Protocol = ProtocolType.HTTP;
                request.AddQueryParameters("PhoneNumbers", form.PhoneNumber);
                request.AddQueryParameters("SignName", form.SignName);
                request.AddQueryParameters("TemplateCode", form.TempCode);
                request.AddQueryParameters("TemplateParam", "{'code':'" + form.VerifyCode + "'}");
                CommonResponse response = client.GetCommonResponse(request);
                rtn = Newtonsoft.Json.JsonConvert.DeserializeObject <AliCloudMessageResponse>(response.Data);
            }
            catch (Exception ex)
            {
                rtn.Code    = "failed";
                rtn.Message = ex.Message;
            }
            return(rtn);
        }
Exemple #17
0
        static void Main3(string[] args)
        {
            IClientProfile   profile = DefaultProfile.GetProfile("cn-shanghai", "LTAI5tQewyNWV67aiSbyjiVV", "DuUFuq933u1CrhOajxFQaofYet049m");
            DefaultAcsClient client  = new DefaultAcsClient(profile);
            CommonRequest    request = new CommonRequest();

            request.Method  = MethodType.POST;
            request.Domain  = "ocr.cn-shanghai.aliyuncs.com";
            request.Version = "2019-12-30";
            request.Action  = "RecognizeIdentityCard";
            // request.Protocol = ProtocolType.HTTP;
            request.AddQueryParameters("Side", "face");
            request.AddQueryParameters("ImageURL", "http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/ocr/RecognizeIdentityCard/sfz1.jpg");
            try {
                CommonResponse response = client.GetCommonResponse(request);
                Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
            }
            catch (ServerException e)
            {
                Console.WriteLine(e);
            }
            catch (ClientException e)
            {
                Console.WriteLine(e);
            }
        }
Exemple #18
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (1 == 2)
     {
         IClientProfile   profile = DefaultProfile.GetProfile("cn-hangzhou", "LTAI4FhvagdVU5NnoSzwdS6j", "4bR854vHtU2IRBlefeyn5avSx1fQDF");
         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", "15221319981");
         request.AddQueryParameters("SignName", "个人信息管理平台");
         request.AddQueryParameters("TemplateCode", "SMS_173472920");
         request.AddQueryParameters("TemplateParam", "{\"code\":\"2233\"}");
         try
         {
             CommonResponse response = client.GetCommonResponse(request);
             Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
         }
         catch (ServerException ex)
         {
             Console.WriteLine(ex);
         }
         catch (ClientException ex)
         {
             Console.WriteLine(ex);
         }
     }
 }
        /// <summary>
        /// 阿里云短信发送接口
        /// </summary>
        public CommonResponse TemplateSmsSend(TemplateSmsSendDto parm)
        {
            IClientProfile profile = DefaultProfile.GetProfile(AppSettings.Configuration["ALYUN_SMS:REGIONID"],
                                                               AppSettings.Configuration["ALYUN_SMS:KEY"],
                                                               AppSettings.Configuration["ALYUN_SMS:SECRET"]);

            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.AddQueryParameters("PhoneNumbers", parm.PhoneNumber);
            request.AddQueryParameters("SignName", parm.SignName);
            request.AddQueryParameters("TemplateCode", parm.TemplateCode);
            request.AddQueryParameters("TemplateParam", parm.TemplateParam);

            string logs = $"向用户 : { parm.PhoneNumber }  发送短信\r\n";

            logs += $"请求内容 : { JsonConvert.SerializeObject(request) } \r\n";
            CommonResponse response = client.GetCommonResponse(request);

            logs += $"返回内容 : { JsonConvert.SerializeObject(response) } \r\n";

            _logger.LogDebug(logs);

            return(response);
        }
Exemple #20
0
        /// <summary>
        /// 发送短信验证码
        /// </summary>
        /// <returns></returns>
        public CommonResponse sendSms(string phoneNumbers, string signName, string templateCode, string templateParam = "{}")
        {
            IClientProfile   profile = DefaultProfile.GetProfile("cn-hangzhou", "LTAIcMnaxxUG7dbk", "VhNgQZrGYz7dXpiCUS8r36mbLgy6db");
            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", phoneNumbers);
            request.AddQueryParameters("SignName", signName);
            request.AddQueryParameters("TemplateCode", templateCode);
            request.AddQueryParameters("TemplateCode", templateCode);
            request.AddQueryParameters("TemplateParam", templateParam);

            try {
                CommonResponse response = client.GetCommonResponse(request);
                Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));

                return(response);
            } catch (ServerException e) {
                Console.WriteLine(e);
                return(null);
            } catch (ClientException e) {
                Console.WriteLine(e);
                return(null);
            }
        }
Exemple #21
0
        public bool sendMsg(string msg, string PhoneNumbers, string TemplateCode, string code)
        {
            IClientProfile   profile = DefaultProfile.GetProfile("default", "LTAILhQTlW0BVBrh", "VeiVpu7lhKjE1bjzKDMzZ3QaCv06k4");
            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.AddQueryParameters("PhoneNumbers", PhoneNumbers);
            request.AddQueryParameters("SignName", "快洗车app");
            request.AddQueryParameters("TemplateCode", TemplateCode);
            request.AddQueryParameters("TemplateParam", "{\"code\":\"" + code + "\"}");
            request.Protocol = ProtocolType.HTTP;

            try
            {
                CommonResponse response = client.GetCommonResponse(request);
                Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
                return(true);
            }
            catch (ServerException ex)
            {
                LogErrorRecord.ErrorFormat("错误日志:{0}", ex.Message);
                return(false);
            }
            catch (ClientException ex)
            {
                LogErrorRecord.ErrorFormat("错误日志:{0}", ex.Message);
                return(false);
            }
        }
Exemple #22
0
        private static void SendAcs(string mobile, string templateCode, dynamic json, int ourid)
        {
            IClientProfile   profile = DefaultProfile.GetProfile("cn-hangzhou", "<accessKeyId>", "<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", "18173608896");
            request.AddQueryParameters("SignName", "jonty博客");
            request.AddQueryParameters("TemplateCode", "SMS_197465032");
            try
            {
                CommonResponse response = client.GetCommonResponse(request);
                Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
            }
            catch (ServerException e)
            {
                Console.WriteLine(e);
            }
            catch (ClientException e)
            {
                Console.WriteLine(e);
            }
        }
Exemple #23
0
        //public ActionResult Index()
        //{
        //    return View();
        //}
        public string SendMsM(string phone = null)
        {
            string code = YanZheng(6);

            Session["yanzheng"] = code;
            IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", "LTAIb5CqZhlpFDjU", "rFp8cdI9lSZE8kJ137uwzwfNUgtF53");
            //IClientProfile profile = DefaultProfile.GetProfile("default", "<accessKeyId>", "<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", phone);
            request.AddQueryParameters("SignName", "放心游");
            request.AddQueryParameters("TemplateCode", "SMS_165380814");
            request.AddQueryParameters("TemplateParam", "{\"code\":\"" + code + "\"}");
            try
            {
                CommonResponse response = client.GetCommonResponse(request);
                Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
                //return System.Text.Encoding.Default.GetString(response.HttpResponse.Content);
            }
            catch (ServerException e)
            {
                Console.WriteLine(e);
            }
            catch (ClientException e)
            {
                Console.WriteLine(e);
            }
            return(null);
        }
Exemple #24
0
        /// <summary>
        /// 短信发送
        /// </summary>
        /// <param name="mobile">手机号</param>
        /// <param name="templateCode">模板code</param>
        /// <param name="templateParam">内容</param>
        /// <returns>Code=ok 成功</returns>
        public string SmsSend(string mobile, string templateCode, string templateParam = "")
        {
            IClientProfile   profile = DefaultProfile.GetProfile("default", _accessId, _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.AddQueryParameters("PhoneNumbers", mobile);
            request.AddQueryParameters("SignName", _signName);
            request.AddQueryParameters("TemplateCode", templateCode);
            request.AddQueryParameters("TemplateParam", templateParam);
            // request.Protocol = ProtocolType.HTTP;
            try
            {
                CommonResponse response = client.GetCommonResponse(request);
                string         code     = JsonHelper.DataRowFromJSON(System.Text.Encoding.Default.GetString(response.HttpResponse.Content))["Code"].ToString();
                return(code);
            }
            catch (ServerException e)
            {
                return(e.Message);
            }
            catch (ClientException e)
            {
                return(e.Message);
            }
        }
Exemple #25
0
        public (bool success, string msg) SendSmsTemplate2(string phoneNumber, string signName, string templateCode, string outId = null, Dictionary <string, string> templateParamDic = null)
        {
            (bool success, string msg)result = new ValueTuple <bool, string>();
            IClientProfile profile = DefaultProfile.GetProfile(aliyunSmsOptionsValue.RegionId,
                                                               aliyunSmsOptionsValue.AccessKeyId,
                                                               aliyunSmsOptionsValue.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.AddQueryParameters("PhoneNumbers", phoneNumber);
            request.AddQueryParameters("SignName", signName);
            request.AddQueryParameters("TemplateCode", templateCode);

            //短信模板变量对应的实际值,JSON格式。说明 如果JSON中需要带换行符,请参照标准的JSON协议处理。
            if (templateParamDic != null && templateParamDic.Count > 0)
            {
                var converter = new IsoDateTimeConverter();
                converter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
                var jsonTemplateParam = JsonConvert.SerializeObject(templateParamDic, Formatting.Indented, converter);
                request.AddQueryParameters("TemplateParam", jsonTemplateParam);
            }
            //可选:外部流水扩展字段。
            request.AddQueryParameters("OutId", outId);
            try
            {
                CommonResponse         response = client.GetCommonResponse(request);
                var                    respStr  = System.Text.Encoding.Default.GetString(response.HttpResponse.Content);
                JsonSerializerSettings setting  = new JsonSerializerSettings();
                setting.NullValueHandling     = NullValueHandling.Ignore;
                setting.MissingMemberHandling = MissingMemberHandling.Ignore;
                var sendSmsResponse = JsonConvert.DeserializeObject <AliyunSmsRespModel>(respStr, setting);

                if (!string.IsNullOrEmpty(sendSmsResponse.Code) && sendSmsResponse.Code.ToUpper() == "OK")
                {
                    result.success = true;
                }
                else
                {
                    result.success = false;
                    result.msg     = sendSmsResponse.Message;
                }
            }
            catch (ServerException e)
            {
                result.success = false;
                result.msg     = e.Message;
            }
            catch (ClientException e)
            {
                result.success = false;
                result.msg     = e.Message;
            }
            return(result);
        }
Exemple #26
0
        /// <summary>
        ///  发送验证码
        /// </summary>
        /// <param name="regionId">短信节点</param>
        /// <param name="accessKeyId">APPID</param>
        /// <param name="secret">secret</param>
        /// <param name="phone">手机号码</param>
        /// <param name="signName">短信签名</param>
        /// <param name="templateCode">短信模板ID</param>
        /// <param name="templateParam">短信模板变量对应的实际值,JSON格式</param>
        /// <param name="isvType">短信供应商(默认阿里云)</param>
        /// <returns></returns>
        public WebResponseContent SendTemplateSms(string regionId, string accessKeyId, string secret, string phone, string signName, string templateCode, string templateParam, IsvType isvType = IsvType.Aliyun)
        {
            switch (isvType)
            {
            case IsvType.Aliyun:
                IClientProfile   profile = DefaultProfile.GetProfile(regionId, accessKeyId, secret);
                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", phone);
                request.AddQueryParameters("SignName", signName);           //"广州悦发"
                request.AddQueryParameters("TemplateCode", templateCode);   //
                //request.AddQueryParameters("TemplateParam", "{ \"code \": \"" + content + "\" }");
                request.AddQueryParameters("TemplateParam", templateParam); //"TemplateParam", "{'code':'" + content + "'}"
                // request.Protocol = ProtocolType.HTTP;
                CommonResponse response = client.GetCommonResponse(request);
                //string code = System.Text.Encoding.Default.GetString(response.HttpResponse.Content).Split(',')[1];
                string _code = JsonConvert.DeserializeObject <AliSMSResult>(System.Text.Encoding.Default.GetString(response.HttpResponse.Content)).Code;

                if (_code == "OK")
                {
                    return(new WebResponseContent().OK("发送成功"));
                }
                else
                {
                    return(new WebResponseContent().Error(ExceptionMsg(_code)));
                }

            case IsvType.getui:
                string url      = "http://www.ztsms.cn/sendNSms.do";
                string userName = "******";
                string tkey     = System.DateTime.Now.ToString("yyyyMMddHHmmss");
                string other    = HashEncrypt.GetMd5("SMSKey");
                string password = HashEncrypt.GetMd5(other + tkey);

                string data = string.Format("?username={0}&password={1}&mobile={2}&content={3}&tkey={4}&productid=676767&xh=",
                                            userName, password, phone, templateParam, tkey);

                HttpHelper httpHelper = new HttpHelper(url + data);
                string     s          = httpHelper.SendGet();
                string     code       = s.Split(',')[0];
                if (code == "1")
                {
                    return(new WebResponseContent().OK("发送成功"));
                }
                else
                {
                    return(new WebResponseContent().Error(ExceptionMsg(code)));
                }

            default:
                return(new WebResponseContent().Error("发送失败"));
            }
        }
Exemple #27
0
        /// <summary>
        /// 指定单个手机号发送短信
        /// </summary>
        /// <param name="param">短信参数</param>
        /// <returns></returns>
        public SmsResponseDto <Configuration.Ioc.Plugs.Sms.Dto.Sms.SendSmsResponseDto> SendSms(SendSmsParam param)
        {
            new SendSmsParamValidator().Validate(param).Check(HttpStatus.Err.Name);
            CommonRequest request = base.GetRequest("dysmsapi.aliyuncs.com", "SendSms", "2017-05-25", "cn-hangzhou");

            request.AddQueryParameters("PhoneNumbers", param.Phone);
            request.AddQueryParameters("SignName", param.SignName);
            request.AddQueryParameters("TemplateCode", param.TemplateCode);
            Dictionary <string, string> data = new Dictionary <string, string>();

            param.Content.ForEach(item => { data.Add(item.Key, item.Value); });
            request.AddQueryParameters("TemplateParam", _jsonProvider.Serializer(data));
            try
            {
                CommonResponse response = GetClient().GetCommonResponse(request);
                if (response != null)
                {
                    var res = _jsonProvider
                              .Deserialize <SendSmsResponseDto>(
                        response.Data);
                    if (res != null)
                    {
                        SmsCode smsCode = SmsCodeMap.Where(x => x.Key == res.Code).Select(x => x.Value)
                                          .FirstOrDefault();

                        if (smsCode != default(SmsCode))
                        {
                            return(new SmsResponseDto <Configuration.Ioc.Plugs.Sms.Dto.Sms.SendSmsResponseDto>()
                            {
                                Code = smsCode,
                                Msg = smsCode == SmsCode.Ok ? "success" : "lose",
                                Extend = new Configuration.Ioc.Plugs.Sms.Dto.Sms.SendSmsResponseDto(param.Phone,
                                                                                                    new SendSmsExtend()
                                {
                                    BizId = smsCode == SmsCode.Ok
                                            ? _jsonProvider
                                            .Deserialize <SendSmsSuccessResponseDto>(
                                        response.Data).BizId
                                            : "",
                                    RequestId = res.RequestId,
                                    Msg = res.Message
                                })
                            });
                        }
                    }
                }
            }
            catch (ServerException e)
            {
            }

            return(new SmsResponseDto <Configuration.Ioc.Plugs.Sms.Dto.Sms.SendSmsResponseDto>()
            {
                Code = SmsCode.Unknown,
                Msg = "发送异常"
            });
        }
Exemple #28
0
        //TODO: 等待阿里云增加异步方法
        /// <summary>
        ///
        /// </summary>
        /// <param name="mobile"></param>
        /// <returns></returns>
        /// <exception cref="SmsException"></exception>
        public void SendValidationCode(string mobile /*, out string smsCode*/)
        {
            string smsCode = GenerateNewSmsCode(_options.TemplateIdentityValidation.CodeLength);

            string templateParam = string.Format(GlobalSettings.Culture, "{{\"{0}\":\"{1}\", \"{2}\":\"{3}\"}}",
                                                 _options.TemplateIdentityValidation.ParamCode,
                                                 smsCode,
                                                 _options.TemplateIdentityValidation.ParamProduct,
                                                 _options.TemplateIdentityValidation.ParamProductValue);

            CommonRequest request = new CommonRequest
            {
                Method  = MethodType.POST,
                Domain  = "dysmsapi.aliyuncs.com",
                Version = "2017-05-25",
                Action  = "SendSms"
            };

            request.AddQueryParameters("PhoneNumbers", mobile);
            request.AddQueryParameters("SignName", _options.SignName);
            request.AddQueryParameters("TemplateCode", _options.TemplateIdentityValidation.TemplateCode);
            request.AddQueryParameters("TemplateParam", templateParam);

            try
            {
                CommonResponse response = PolicyManager.Default(_logger).Execute(() => { return(_client.GetCommonResponse(request)); });

                SendResult?sendResult = SerializeUtil.FromJson <SendResult>(response.Data);

                if (sendResult != null && sendResult.IsSuccessful())
                {
                    SetSmsCodeToCache(mobile, smsCode, _options.TemplateIdentityValidation.ExpireMinutes);
                }
                else
                {
                    string errorMessage = $"Validate Sms Code Send Err. Mobile:{mobile}, Code:{sendResult?.Code}, Message:{sendResult?.Message}";
                    throw Exceptions.SmsSendError(mobile: mobile, code: sendResult?.Code, message: sendResult?.Message);
                }
            }
            catch (CacheException ex)
            {
                throw Exceptions.SmsCacheError("", ex);
            }
            catch (AliyunException ex)
            {
                throw Exceptions.SmsServerError("", ex);
            }
            catch (JsonException ex)
            {
                throw Exceptions.SmsFormatError("阿里云短信服务,格式返回错误", ex);
            }
            catch (ClientException ex)
            {
                throw Exceptions.SmsClientError("AliyunSmsServiceDownErrorMessage", ex);
            }
        }
Exemple #29
0
        public static MessageReturn SendMessageCode(string pheone)
        {
            LogHelper.WriteLog("SendMessageCode start");
            LogHelper.WriteLog("短信认证手机号:" + pheone);
            MessageReturn        messageReturn = new MessageReturn();
            JavaScriptSerializer jsonSerialize = new JavaScriptSerializer();
            IClientProfile       profile       = DefaultProfile.GetProfile("cn-hangzhou", ConfigurationManager.AppSettings["AccessKeyID"].ToString(), ConfigurationManager.AppSettings["AccessKeySecret"].ToString());
            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", pheone);
            request.AddQueryParameters("SignName", ConfigurationManager.AppSettings["SignName"].ToString());
            request.AddQueryParameters("TemplateCode", ConfigurationManager.AppSettings["TemplateCode"].ToString());
            MessageNo messageNo = new MessageNo();
            Random    rd        = new Random();
            int       num       = rd.Next(100000, 1000000);

            messageNo.code = num.ToString();
            request.AddQueryParameters("TemplateParam", jsonSerialize.Serialize(messageNo));
            LogHelper.WriteLog("短信认证参数:" + jsonSerialize.Serialize(request.QueryParameters));
            try
            {
                CommonResponse response = client.GetCommonResponse(request);
                LogHelper.WriteLog("SendMessageCode response" + response);
                var sendSmsResponse = jsonSerialize.Deserialize <SendSmsResponse>(response.Data);
                if (sendSmsResponse.Code.Equals("OK"))
                {
                    LogHelper.WriteLog("SendMessageCode num" + num.ToString());
                    messageReturn.Status  = true;
                    messageReturn.Message = num.ToString();
                }
            }
            catch (ServerException e)
            {
                messageReturn.Status  = false;
                messageReturn.Message = e.Message;
                LogHelper.WriteLog("短信认证错误:" + jsonSerialize.Serialize(messageReturn.Message), e);
            }
            catch (ClientException e)
            {
                messageReturn.Status  = false;
                messageReturn.Message = e.Message;
                LogHelper.WriteLog("短信认证错误:" + jsonSerialize.Serialize(messageReturn.Message), e);
            }
            LogHelper.WriteLog("SendMessageCode end");
            return(messageReturn);
        }
Exemple #30
0
 private void TryAddTemplateCode(CommonRequest request, SmsMessage smsMessage)
 {
     if (smsMessage.Properties.TryGetValue("TemplateCode", out object template))
     {
         request.AddQueryParameters("TemplateCode", template.ToString());
         smsMessage.Properties.Remove("TemplateCode");
     }
     else
     {
         Check.NotNullOrWhiteSpace(Options.DefaultTemplateCode, nameof(Options.DefaultTemplateCode));
         request.AddQueryParameters("TemplateCode", Options.DefaultTemplateCode);
     }
 }