在asp.net中发送多条短信?

Posted

技术标签:

【中文标题】在asp.net中发送多条短信?【英文标题】:sending multiple sms in asp.net? 【发布时间】:2011-03-19 00:41:20 【问题描述】:

在我的网络应用程序中,我使用 api 发送短信,它适用于单个电话号码,但我的要求是我想向两个电话号码(手机号码)发送短信,你能帮我吗?当用户来的时候到我的网站并自动注册管理员会收到短信提醒,现在我想同时发送短信。

protected void btnSend_Click(object sender, EventArgs e)

    try
    
        mobile =Server.htmlEncode ( txtMobile.Text);
        message = Server.HtmlEncode(txtMessage.Text);
        username = Server.HtmlEncode(txtName.Text);
        password = Server.HtmlEncode(txtPassword.Text);
        domian = Server.HtmlEncode(txtDomain.Text);
        string result = apicall("http://"+domian+"/pushsms.php?username="+username+"&password="+password+"&sender=&to="+mobile+"&message="+message);
        if (!result.StartsWith("Wrong Username or Password"))
        
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "success", "alert('Message Sent')", true);
        
        else
        
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "success", "alert('Message Sending Failed')", true);
        
sentMail()

    
    catch
    
    

公共无效已发送邮件() 字符串手机=“9701098107”; 字符串消息=“测试”; 字符串用户名=“xxx”; 字符串密码 = "yyyy"; 字符串 domian = "smsftt.com"; string result1 = apicall("http://" + domian + "/pushsms.php?username=" + username + "&password=" + 密码 + "&sender=&to=" + mobile + "&message=" + message);

public string apicall(string url)

    HttpWebRequest httpreq = (HttpWebRequest)WebRequest.Create(url);

    try
    

        HttpWebResponse httpres = (HttpWebResponse)httpreq.GetResponse();

        StreamReader sr = new StreamReader(httpres.GetResponseStream());

        string results = sr.ReadToEnd();

        sr.Close();
        return results;



    
    catch
    
        return "0";
    

【问题讨论】:

如果号码存储在一个列表中 那么你能不能只为列表中的每个电话号码调用单个发送例程? Mr.WestDiscGolf 实际上,当用户来到我的网站并自动注册时,管理员会收到短信提醒,现在我想同时向用户发送短信。我正在放置代码,请检查。我正在编辑我的问题,请检查一次 【参考方案1】:

您可以使用此代码对我来说工作正常,将以下代码保留在函数调用该函数中,并在 CSV 中分隔多个手机号码

 string stringpost = "Here username password and type of sms as querystring";
            HttpWebRequest objWebRequest = null;
            HttpWebResponse objWebResponse = null;
            StreamWriter objStreamWriter = null;
            StreamReader objStreamReader = null;
            try
            
                string stringResult = null;

                objWebRequest = (HttpWebRequest)WebRequest.Create("http://'your sms api'");

                objWebRequest.Method = "POST";

                objWebRequest.ContentType = "application/x-www-form-urlencoded";

                objStreamWriter = new StreamWriter(objWebRequest.GetRequestStream());
                objStreamWriter.Write(stringpost);
                objStreamWriter.Flush();
                objStreamWriter.Close();

                objWebResponse = (HttpWebResponse)objWebRequest.GetResponse();

                objWebResponse = (HttpWebResponse)objWebRequest.GetResponse();

                objStreamReader = new StreamReader(objWebResponse.GetResponseStream());
                stringResult = objStreamReader.ReadToEnd();
                objStreamReader.Close();
                return (stringResult);
            
            catch (Exception ex)
            
                return (ex.ToString());
            
            finally
            
                if ((objStreamWriter != null))
                
                    objStreamWriter.Close();
                
                if ((objStreamReader != null))
                
                    objStreamReader.Close();
                
                objWebRequest = null;
                objWebResponse = null;
            

【讨论】:

【参考方案2】:

这不就像用不同的细节再次制作那个 apicall 一样简单吗?更改您传递的手机号码并完成工作......

【讨论】:

我写了一个方法,在发送第一条短信时调用该 API 代码,然后调用第二条短信,但它没有发送 @Surya sasidhar:我不知道你用谁来发送短信,但它们是否有可能以某种方式限制你,所以你不能发送超过一个数量有限的短信时间(例如每秒一个)。与上面显示的代码相比,这似乎更可能是您的问题所在。或者,您的 apicall 方法中存在错误,您需要向我们展示代码。如果没有全貌,就很难找出问题所在。 @Surya sasidhar:您的代码看起来不错。我建议调试您更仔细地分析您从呼叫中得到的响应是什么。您只检查“错误的用户名或密码”。尝试在失败时将结果放入警报中,以便您可以准确地看到服务器在说什么。我猜这类似于“电话太多”,旨在阻止短信发送的快速自动化。如果是这种情况,您将必须找出时间限制,并制定某种排队系统以确保您的呼叫不会太快。另一个测试是两个同时注册。 是的,工作正常,克里斯先生,我收到两条消息,感谢您的回复和所有事情

以上是关于在asp.net中发送多条短信?的主要内容,如果未能解决你的问题,请参考以下文章

android如何与asp.net服务端共享session

ASP.NET 点击前台服务器按钮后, 刷新. 重新执行 按钮事件

ASP.NET 短信网关 API

从控制器事件(无客户端请求)向视图发送数据 ASP.NET MVC 4

选择多条记录的最佳方法 GridView Asp.Net

在 ASP.Net Core 3 中使用 Rabbitmq 的 RPC