首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在c# web应用中使用inetlab.smpp发送短信

如何在c# web应用中使用inetlab.smpp发送短信
EN

Stack Overflow用户
提问于 2019-06-27 15:16:09
回答 1查看 785关注 0票数 0

我正在使用c# web应用程序中的inetlab.smpp发送短信。客户端创建成功,连接成功,绑定成功,但消息未投递到收件人

代码语言:javascript
复制
public partial class sendsmss : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected async void send_Click(object sender, EventArgs e)
    {
        SmppClient client = new SmppClient();
        await client.Connect("xx.xx.xx.xx", 00000);
        if (client.Status == Inetlab.SMPP.Common.ConnectionStatus.Open)
        {
            await client.Bind("user", "pass");
            if (client.Status == Inetlab.SMPP.Common.ConnectionStatus.Open)
            {
                SubmitSm sm = new SubmitSm();
                sm.UserData.ShortMessage = client.EncodingMapper.GetMessageBytes("Test Test Test Test Test Test Test Test Test Test", DataCodings.Default);
                sm.SourceAddress = new SmeAddress("1111");
                sm.DestinationAddress = new SmeAddress("12345678");
                sm.DataCoding = DataCodings.UCS2;
                sm.RegisteredDelivery = 1;
                await client.Submit(sm);
                SubmitSmResp response = await client.Submit(sm);
                if (response.MessageId != "")
                {

                    Response.Write("response.messageID is " + response.MessageId.ToString() + "</br> ");

                }
                else { Response.Write("response null </br> "); }
                await client.UnBind();
            }
        }
    }
}

我希望短信能送达收件人

EN

回答 1

Stack Overflow用户

发布于 2019-10-04 22:20:16

完美地为我奔跑

代码语言:javascript
复制
    private async void button1_Click(object sender, EventArgs e)
    {
        Inetlab.SMPP.SmppClient client = new Inetlab.SMPP.SmppClient();
        await client.Connect("x.x.x.x", y);
        await client.Bind("systemid", "password", ConnectionMode.Transceiver);
        var resp = await client.Submit(
           SMS.ForSubmit()
               .From("SOURCEADDR", AddressTON.Alphanumeric, AddressNPI.Unknown )
               .To("mobilenumber", AddressTON.International, AddressNPI.ISDN)
               .Coding(DataCodings.Default)
               .Text("test text")
           );
        if (resp.All(x => x.Header.Status == CommandStatus.ESME_ROK))
        {
            MessageBox.Show("Message has been sent.");
        }
        else
        {
            MessageBox.Show(resp.GetValue(0).ToString());
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56785882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档