public string SendSmsMessages(string mobileBrief, string smsBody) { List <SMSirSentAndReceivedMessages.WebServiceSmsSend> sendDetails = new List <SMSirSentAndReceivedMessages.WebServiceSmsSend>(); sendDetails.Add(new SMSirSentAndReceivedMessages.WebServiceSmsSend() { IsFlash = false, MessageBody = smsBody, MobileNo = long.Parse(mobileBrief) }); SMSirSentAndReceivedMessages.SendReceiveSoapClient ws = new SMSirSentAndReceivedMessages.SendReceiveSoapClient(); DateTime sendSince = DateTime.Now; string message = string.Empty; ArrayOfLong result = ws.SendMessage(UserName, UserPassword, sendDetails.ToArray(), 47370, sendSince, ref message); if (!string.IsNullOrWhiteSpace(message)) { throw new Exception(message); } StringBuilder sbResult = new StringBuilder(); foreach (var current in result) { sbResult.Append(current + ","); } var res = sbResult.ToString(); return(res); }
public static async Task <string> SendSmsAsync(string to, string content) { var reciver = new ArrayOfString(); var status = new ArrayOfbyte(); var smsId = new ArrayOfLong(); reciver.Add(to); var sendResult = await new SendSoapClient().SendSmsAsync(_username, _password, reciver, _senderId, content, false, null, smsId, status); return($"{sendResult.Body.recId[0]}:{sendResult.Body.SendSmsResult}:{sendResult.Body.status[0]}"); }
//public string SendSms(long[] telDestArr, string testoSMS, string alias = null, string IdSMS = null, bool InviaConAlias = false) { //public string SendSms(IList<SmsHQL> telDestArr, string testoSMS, string alias = null, string IdSMS = null, bool InviaConAlias = false) { public string SendSms(IList telDestArr, string testoSMS, string alias = null, string IdSMS = null, bool InviaConAlias = false) { var bRet = "FALSE"; ArrayOfLong numbers = new ArrayOfLong(); foreach (Hashtable tel in telDestArr) { numbers.Add(Convert.ToInt64(GetPhoneNumber(tel))); } //numbers.AddRange(telDestArr.Select(x => Convert.ToInt64(x.SmsPrefix + x.SmsNumber)).ToArray()); try { var smsSettings = _orchardServices.WorkContext.CurrentSite.As <SmsSettingsPart>(); // Imposto Guid univoco se la richiesta non arriva da SmsGateway if (String.IsNullOrEmpty(IdSMS)) { IdSMS = new Guid().ToString(); } if (InviaConAlias) { if (String.IsNullOrEmpty(alias)) { alias = smsSettings.SmsFrom; } } else { alias = null; } SmsServiceReference.Sms sms = new SmsServiceReference.Sms { DriverId = smsSettings.MamDriverIdentifier, SmsFrom = (_orchardServices.WorkContext.CurrentUser != null?_orchardServices.WorkContext.CurrentUser.UserName:"******"), MamHaveAlias = InviaConAlias, Alias = alias, SmsPrority = smsSettings.SmsPrority ?? 0, SmsValidityPeriod = smsSettings.SmsValidityPeriod ?? 3600, ExternalId = IdSMS, SmsBody = testoSMS, SmsTipoCodifica = 0, SmsNumber = numbers, }; SmsServiceReference.SmsWebServiceSoapClient _service = CreateSmsService(smsSettings); // Place Holder List <SmsServiceReference.PlaceHolderMessaggio> listPH = GetPlaceHolder(telDestArr, testoSMS); SmsServiceReference.PlaceHolderMessaggio[] SmsPlaceHolder = null; if (listPH != null && listPH.Count > 0) { SmsPlaceHolder = listPH.ToArray(); } // Login SmsServiceReference.Login login = new SmsServiceReference.Login(); login.User = smsSettings.WsUsername; login.Password = smsSettings.WsPassword; login.DriverId = smsSettings.MamDriverIdentifier; var result = _service.SendSMS(login, sms, SmsPlaceHolder); //Log.Info(Metodo + " Inviato SMS ID: " + idSmsComponent); bRet = result; } catch (Exception ex) { Logger.Error(ex, ex.Message + " :: " + ex.StackTrace); } return(bRet); }
private async Task <string> SendMessage(string mobile) { Random rnd = new Random(); var code = rnd.Next(100000, 999999); verifications.Add(new VerificationCode() { Mobile = mobile, Code = code.ToString(), Expire = DateTime.Now.AddSeconds(65) }); SMSOnline.SendSoapClient client = new SMSOnline.SendSoapClient(); var time = new TimeSpan(0, 50, 0); client.Endpoint.Binding.CloseTimeout = time; client.Endpoint.Binding.OpenTimeout = time; client.Endpoint.Binding.ReceiveTimeout = time; client.Endpoint.Binding.SendTimeout = time; ArrayOfString mobiles = new ArrayOfString(); mobiles.AddRange(new string[] { mobile }); ArrayOfLong recId = new ArrayOfLong(); ArrayOfbyte status = new ArrayOfbyte(); var result = await client.SendSmsAsync("int1", "int123", mobiles, "50001450", $"سامانه به روز رسانی اطلاعات مدارس\n {code}", false, "", recId, status); var id = result?.Body?.SendSmsResult; switch (id) { case 0: return("نام کاربری یا رمز عبور صحیح نمی باشد"); case 1: return(""); //return "پیامک ارسال شد"; case 2: return("اعتبار کافی نیست"); case 3: return("محدودیت در ارسال روزانه"); case 4: return("محدودیت در حجم ارسال"); case 5: return("شماره فرستنده معتبر نیست و یا غیرفعال می باشد"); case 6: return("شماره موبایل صحیح جهت ارسال وجود ندارد"); case 7: return("متن پیامک خالی می باشد"); case 8: return("کاربر ارسال کننده و یا سازنده ی آن غیر فعال می باشد"); case 9: return("تعداد شماره موبایل ها بیشتر از حد مجاز می باشد"); case 100: return("شما مجاز به استفاده از وب سرویس نمی باشید"); default: return(""); } }