通过c#用AT命令发送短信
本文关键字:命令 AT 通过 | 更新日期: 2023-09-27 18:04:16
我用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);
}
}
我建议你先阅读设备用户手册,我认为在你发送第一个短信后应该有延迟,也许设备返回一些你必须读取它以清除缓冲区,然后再次发送。这完全取决于你使用的是什么设备
如果您使用的是第三方SMPP提供商,那么您必须要求他们允许发送多个用户,否则使用";"每个号码。
谢谢
我认为你没有发送文本消息后所需的转义字符。您应该发送ASCII字符ESC,它是十进制27和十六进制1B。