C# 如何使用SMPP和C从SMSC获取交付报告#
我正在VS2010中使用C# 如何使用SMPP和C从SMSC获取交付报告#,c#,smpp,C#,Smpp,我正在VS2010中使用SMPP客户端和C向SMSC发送短信。我只是不知道如何获取已发送邮件的传递报告。我使用QuerySM获取消息的状态,但即使我向未使用的号码发送短信,它也会返回OK状态 这是我获取交货报告的代码: QuerySm deliver = new QuerySm(_MessageID, SrcTon, SrcNpi, SrcAddr); client.Query(deliver); 您使用的SMSC可能不支持query\u sm,在这种情况下,他们可能为每个请求实现了一个占位符
SMPP
客户端和C
向SMSC发送短信。我只是不知道如何获取已发送邮件的传递报告。我使用QuerySM
获取消息的状态,但即使我向未使用的号码发送短信,它也会返回OK状态
这是我获取交货报告的代码:
QuerySm deliver = new QuerySm(_MessageID, SrcTon, SrcNpi, SrcAddr);
client.Query(deliver);
您使用的SMSC可能不支持
query\u sm
,在这种情况下,他们可能为每个请求实现了一个占位符query\u sm\u resp
PDU,状态为OK
您可以将
submit\u sm
中的registered\u delivery
标志设置为1,并侦听传入的delivery\u sm
PDU,这样您就可以从他们那里获取传递报告,而不是查询他们发送的每封邮件。我通过使用querysrep
获取传递报告解决了我的问题
这是用于检查SMS消息传递状态的代码:
QuerySmResp qresp = client.Query(_MessageID, SrcTon, SrcNpi, SrcAddr);
string _Delivery = qresp.MessageState.ToString();
MessageState
属性将显示消息的状态,其成员包括:
没有
途中
交付
过期
删除
无法交付
接受
不为人知
被拒绝不,对不起,我不做C#,我只知道SMPP。我可以问一下您使用的是哪个库吗?@Oswin我使用的是Inetlab.SMPP.dll