/// <summary> /// /// </summary> /// <param name="sms"></param> /// <returns></returns> public bool Send(Infrastructure.Sms sms) { if (sms.Mode != SmsSendMode.TemplateCode) { throw new AliYunSmsModeNotSupportedException(); } string phoneNumbers = string.Join(",", sms.Telephones.Select(a => $"{NationCodeChecks(a.NationCode)}{a.PhoneNumber}")); SendSmsResponse responseMessage = aliYunAcsClient.SendSms(phoneNumbers, sms.TemplateCode, Newtonsoft.Json.JsonConvert.SerializeObject(sms.TemplateParameters)); if (responseMessage.Code.Equals("OK", StringComparison.OrdinalIgnoreCase)) { return(true); } else { logger.LogError($"AliYunSmsError:{responseMessage.Message}({responseMessage.Code})"); throw new AliYunSmsServiceException(); } }
/// <summary> /// /// </summary> /// <param name="sms"></param> /// <param name="canceltoken"></param> /// <returns></returns> public async Task <bool> SendAsync(Infrastructure.Sms sms, CancellationToken canceltoken = default(CancellationToken)) { return(await Task.Run(() => Send(sms))); }