static void Main(string[] args) { SmsClient client = new SmsClient(); client.Connect(); do { Console.Write("From : "); string from = Console.ReadLine(); Console.Write("To : "); string to = Console.ReadLine(); Console.Write("Text : "); string text = Console.ReadLine(); if (client.SendSms(from, to, text)) { Console.WriteLine("Message sent"); } else { Console.WriteLine("Error"); } } while (Console.ReadLine() != "exit"); client.Disconnect(); }
protected override void OnStart(string[] args) { eventLog1.WriteEntry("Start " + _SourceName); logger.Debug("Start " + _SourceName); timer1.Start(); timer1.Enabled = true; eventLog1.WriteEntry("Установление соединения с сервером SMSC"); logger.Debug("Установление соединения с сервером SMSC"); try { m_theSmsClient.Connect(); eventLog1.WriteEntry("Установление соединения с сервером БД"); logger.Debug("Установление соединения с сервером БД"); Connection.Open(); } catch (Exception ex) { logger.Error(ex.Message); } }
/// <summary> /// Отправка одиночного сообщения /// </summary> /// <param name="sms"></param> static void Do(SmsMessage sms) { bool sent = false; string log = "delivery.log"; DateTime str, stp; // Oldi.Net.Utility.Log("Отправляется в {0} диапазон {1} - {2}", XConvert.AsDate(DateTime.Now), XConvert.AsDate(sms.start), XConvert.AsDate(sms.stop)); // Если задан диапазон рассылки - проверим вхождение if (sms.start != null && sms.stop != null) { str = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, sms.start.Value.Hour, sms.start.Value.Minute, sms.start.Value.Second); stp = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, sms.stop.Value.Hour, sms.stop.Value.Minute, sms.stop.Value.Second); // Oldi.Net.Utility.Log("Отправляется в {0} диапазон {1} - {2}", XConvert.AsDate(DateTime.Now), XConvert.AsDate(str), XConvert.AsDate(stp)); if (DateTime.Now < str || DateTime.Now > stp) { // Oldi.Net.Utility.Log(Settings.LogPath + log, // "Время {0} вне допустимого диапазона {1} - {2}", DateTime.Now.ToShortTimeString(), str.ToShortTimeString(), stp.ToShortTimeString()); return; } } try { // RootLog("{0} Рассылка #{1} {2} отправляется СМС", tid, Settings.Delivery, phone); using (SqlConnection cnn = new SqlConnection(Settings.ConnectionString)) { cnn.Open(); using (SqlCommand cmd = new SqlCommand("OLDIGW.SmsWrite", cnn)) { cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("DeliveryId", sms.delivery); cmd.Parameters.AddWithValue("Tid", sms.tid); cmd.Parameters.AddWithValue("From", sms.sign); cmd.Parameters.AddWithValue("To", sms.phone); cmd.Parameters.AddWithValue("Text", sms.text); cmd.ExecuteNonQuery(); } IPHostEntry hostinfo = Dns.GetHostEntry("smpp4.integrationapi.net"); IPAddress[] ips = hostinfo.AddressList; using (SmsClient client = new SmsClient("OLDI-T LLC", ips[0].ToString(), 2775, "regplat", "yd2qox45", "run", (int)sms.tid)) // using (SmsClient client = new SmsClient()) { client.Connect(); // throw new ApplicationException (string.Format("Отправляется {0} в {1} подписано {2}", account, phone, sign)); if (!client.SendSms(sms.sign, "+7" + sms.phone, sms.text)) { Oldi.Net.Utility.Log(Settings.LogPath + log, "{0} {1} ошибка отправки SMS", sms.tid, sms.phone); } else { sent = true; Oldi.Net.Utility.Log(Settings.LogPath + log, "{0} {1} отправлен", sms.tid, sms.phone); } client.Disconnect(); } if (sent) { using (SqlCommand cmd = new SqlCommand("OLDIGW.SmsSent", cnn)) { cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("Tid", sms.tid); cmd.ExecuteNonQuery(); } } } } catch (Exception ex) { Oldi.Net.Utility.Log(Settings.OldiGW.LogFile, "{0}\r\n{1}", ex.Message, ex.StackTrace); } }