/// <summary> /// 发送模板消息 /// </summary> /// <param name="input">模板消息</param> /// <returns></returns> public Task <SmsResult> SendTemplateMessageAsync(SendTemplateMessageInput input) { if (string.IsNullOrWhiteSpace(input.PhoneNumber)) { throw new SmsException("手机号码不能为空!"); } var client = new AliyunSmsClient(); var acsClient = client.AcsClient; var request = new SendSmsRequest(); var result = new SmsResult(); try { //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式 request.PhoneNumbers = input.PhoneNumber; //必填:短信签名-可在短信控制台中找到 request.SignName = input.SignName; //必填:短信模板-可在短信控制台中找到 request.TemplateCode = input.TemplateCode; //可选:模板中的变量替换JSON串 if (input.HaveParm) { request.TemplateParam = input.ToString(); } ////可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 //request.OutId = client.AliyunSmsSettting.OutId; //请求失败这里会抛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="message"></param> /// <returns></returns> public async Task <SmsResult> SendTemplateMessageAsync(SendTemplateMessageInput input) { return(await SmsService.SendTemplateMessageAsync(input)); }
/// <summary> /// 发送模板消息 /// </summary> /// <param name="message"></param> /// <returns></returns> public Task <SendResult> SendTemplateMessageAsync(SendTemplateMessageInput message) { throw new NotImplementedException(); }