/// <summary> /// 批量发送消息模板 /// </summary> /// <param name="input">模板消息</param> /// <returns></returns> public Task <SmsResult> SendBatchTemplateMessageAsync(SendBatchTemplateMessageInput input) { var client = new AliyunSmsClient(); var acsClient = client.AcsClient; var request = new SendBatchSmsRequest(); var result = new SmsResult(); try { //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式 request.PhoneNumberJson = JsonConvert.SerializeObject(input.SendTemplateMessageInputs.Select(a => a.PhoneNumber).ToList()); //必填:短信签名-可在短信控制台中找到 request.SignNameJson = JsonConvert.SerializeObject(input.SendTemplateMessageInputs.Select(a => a.PhoneNumber).ToList()); //必填:短信模板-可在短信控制台中找到 request.TemplateCode = input.TemplateCode; //可选:模板中的变量替换JSON串 if (input.HaveParm) { request.TemplateParamJson = JsonConvert.SerializeObject(input.SendTemplateMessageInputs.Select(a => a.ToString()).ToList()); } //请求失败这里会抛ClientException异常 var sendSmsResponse = acsClient.GetAcsResponse(request); //发送成功判断 if ("OK".Equals(sendSmsResponse.Code, StringComparison.CurrentCultureIgnoreCase)) { result.Success = true; } else { result.Success = false; result.ErrorMessage = sendSmsResponse.Message; } } catch (ClientException e) { AliyunSmsHelper.LoggerAction("Error", e.ToString()); result.Success = false; result.ErrorMessage = e.ErrorMessage; } catch (Exception e) { AliyunSmsHelper.LoggerAction("Error", e.ToString()); result.Success = false; result.ErrorMessage = e.Message; } return(Task.FromResult(result)); }
/// <summary> /// 批量发送消息模板 /// </summary> /// <param name="phone"></param> /// <param name="message"></param> /// <returns></returns> public async Task <SmsResult> SendBatchTemplateMessageAsync(SendBatchTemplateMessageInput input) { return(await SmsService.SendBatchTemplateMessageAsync(input)); }