Отправка SMS с AT командой через C # - PullRequest
0 голосов
/ 03 августа 2011

Я написал SMS-заявку на C #. У меня вопрос: я хочу отправить SMS нескольким пользователям. Но это отправка одному пользователю. Что не так?

Вот мой код:

public void openPort()
    {
        port.Close();
        port.PortName = "COM11";
        port.ReceivedBytesThreshold = 1;
        port.BaudRate = 115200;
        port.DtrEnable = true;
        port.Open();
     }
  public void sendSMS(string mmobil)
  {
       this.mobil = mmobil;
       port.WriteLine("AT\r");
        port.WriteLine("AT+CMGF=1\r");
        port.WriteLine("AT+CMGS=\"" + mmobil + "\"\r");
        port.WriteLine("TEST" + '\x001a');
  }

  static void Main(string[] args)
    {


 List <string>mymobil= new List<string>();
        mymobil.Add("+316207XXX");
        mymobil.Add("+316141XXX");

 foreach (string mobil in mymobil)
       {

           openPort();
           sendSMS(mobil);
       }
    } 

Ответы [ 3 ]

1 голос
/ 03 августа 2011

Я рекомендую вам сначала прочитать руководство пользователя устройства, я думаю, что после отправки вашей первой смс должна быть задержка, возможно, устройство вернет что-то, что вы должны прочитать, чтобы очистить буфер, а затем отправить снова. Это полностью зависит от того, какое устройство вы используете.

0 голосов
/ 10 декабря 2013

Я думаю, вы не отправляете escape-символ, необходимый после текстового сообщения. Вы должны отправить ASCII символ ESC, который является 27 в десятичном виде и 1B в шестнадцатеричном.

0 голосов
/ 03 августа 2011

Если вы используете сторонних SMPP-провайдеров, вам нужно попросить их разрешить отправку нескольких пользователей, иначе используйте «;»каждый номер.

спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...