Beispiel #1
0
        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();
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        /// <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);
            }
        }