public Task <SendResult> SendTemplateMessageAsync(TemplateMessage message) { //没有模板数据也允许发送 //if (message.Data == null || message.Data.Count == 0) //{ // throw new ArgumentNullException("message.Data"); //} if (string.IsNullOrEmpty(message.SignName)) { throw new ArgumentNullException("message.SignName"); } var req = new AlibabaAliqinFcSmsNumSendRequest { Extend = message.ExtendParam, SmsType = "normal", SmsFreeSignName = message.SignName, SmsParam = message.Data == null ? null : SmsHelper.GetSmsParam(message.Data), RecNum = message.Destination, SmsTemplateCode = message.TemplateCode, }; var rsp = _client.Execute(req); var result = new SendResult(); if (rsp.Result != null && rsp.Result.Success) { result.Success = true; Logger.LogFormat(LoggerLevels.Debug, "短信发送成功!Data:{0}", message); } else { result.Success = false; result.ErrorMessage = String.Format("ErrCode:{0};ErrMsg:{1};SubErrCode:{2};SubErrMsg:{3};Data:{4}", rsp.ErrCode, rsp.ErrMsg, rsp.SubErrCode, rsp.SubErrMsg, message); Logger.Log(LoggerLevels.Error, result.ErrorMessage); } return(Task.FromResult(result)); }