Speed up development with full-stack environments for every branch.

Learn More

How to send SMS using ASP.NET through HTTP [c#, from website, gsm, modem, gateway and www.ozekisms.com]

Forked from ASP.net Form Submission.

4811 Runs 23585 Views 9025 Copies

Hello Guys, This short ASP.NET code snippet is intended to provide you a brief review on how to add SMS functionality to your website. You will see, this is a very simple but smart solution. This ASP.NET application is able to send messages by using HTTP requests towards the SMS gateway that sends the SMSs to the destination telephone via a GSM modem or an IP SMS connection. Let’s take a quick look at the software requirements that are essentially needed for tjis solution. In order to send SMS messages from your ASP.NET application, you need a development platform, e.b Visual Studio, of course, .NET Framework 4.0, Internet Information Services (IIS) and an SMS gateway (I used Ozeki NG – http://www.ozekisms.com). You also need a GSM modem attached to your PC or an IP SMS connection to be able to send messages. Okay ans now let’s use the code snippet! Copy the content of smssend.aspx and smssend.aspx.cs into the main directory of the IIS server - C:\Inetpub\wwwroot\ directory (). Configure the fixed data in the smssend.aspx.cs file (the IP address and port number of the SMS gateway, username, password). Launch your SMS gateway Server. Start a web browser and enter this URL: - where means that the smssend.aspx and smssend.aspx.cs files can be found on the same computer on which the browser has been opened). Fill in the required fields, and then click the Send button. It’s as easy as that! Happy coding! :)



aGupta 1

published 2 years ago

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net;
using System.Text.RegularExpressions;

public partial class _Default : System.Web.UI.Page 

    protected void Page_Load(object sender, EventArgs e)
        textboxRecipient.Width = 400;
        textboxMessage.Width = 450;
        textboxMessage.Rows = 10;
        textboxError.Width = 400;
        textboxError.Rows = 5;

        textboxError.ForeColor = System.Drawing.Color.Red;
        textboxError.Visible = false;
        textboxError.Text = "";

        if (!Page.IsPostBack)
            textboxRecipient.Text = "+441234567";
            textboxMessage.Text = "Test message!";

    protected void buttonSendOnClick(object sender, EventArgs e)
        //are required fields filled in:
        if (textboxRecipient.Text == "")
            textboxError.Text += "Recipient(s) field must not be empty!\n";
            textboxError.Visible = true;

        //we creating the necessary URL string:
        string ozSURL = ""; //where the SMS Gateway is running
        string ozSPort = "9501"; //port number where the SMS Gateway is listening
        string ozUser = HttpUtility.UrlEncode("admin"); //username for successful login
        string ozPassw = HttpUtility.UrlEncode("abc123"); //user's password
        string ozMessageType = "SMS:TEXT"; //type of message
        string ozRecipients = HttpUtility.UrlEncode(textboxRecipient.Text); //who will get the message
        string ozMessageData = HttpUtility.UrlEncode(textboxMessage.Text); //body of message

        string createdURL = ozSURL + ":" + ozSPort + "/httpapi" +
            "?action=sendMessage" +
            "&username=" + ozUser +
            "&password=" + ozPassw +
            "&messageType=" + ozMessageType +
            "&recipient=" + ozRecipients +
            "&messageData=" + ozMessageData;

            //Create the request and send data to the SMS Gateway Server by HTTP connection
            HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(createdURL);

            //Get response from the SMS Gateway Server and read the answer
            HttpWebResponse myResp = (HttpWebResponse)myReq.GetResponse();
            System.IO.StreamReader respStreamReader = new System.IO.StreamReader(myResp.GetResponseStream());
            string responseString = respStreamReader.ReadToEnd();

            //inform the user
            textboxError.Text = responseString;
            textboxError.Visible = true;
        catch (Exception)
            //if sending request or getting response is not successful the SMS Gateway Server may do not run
            textboxError.Text = "The SMS Gateway Server is not running!";
            textboxError.Visible = true;

Please login/signup to get access to the terminal.

Your session has timed out.

Dismiss (the page may not function properly).