Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Receive SMS messages in a web application in the US on a hosted server

I'm trying to build a simple web application that will allow people to send SMS messages FROM their mobile phone TO my application.

I've seen this question asked before:

Receive SMS messages by web application
Receiving a SMS message in a .NET application

... but I have a few unique (I think) circumstances.

  1. I'm expecting a very small number of messages (<1,000/month)
  2. My users are all in the U.S.
  3. I don't need to SEND SMS messages - I just want to allow users to be able to send messages TO the application

I'm aware of major SMS "providers" like Clickatell. However, their services seem like HUGE overkill.

Ideally, I'd like users to be able to send an SMS message to an EMAIL account I have set up. However, based on a (superficial) investigation, it looks like that's not possible. (E.g., I tried it on my iPhone, and the message isn't received).

So, I guess the next best alternative is that my users send SMS messages to a dedicated phone number, and have those messages forwarded to an email account on my server. That would work, I guess. But I'm not sure how to do the forwarding part, or if it's even possible.

Clickatell offers a service like that, but they charge a few hundred bucks to set up a number, a few hundred bucks to RENT the number each month, and a few pennies for each message. And, they only offer non-US phone numbers. (In the US, you apparently need to have a "short-code", that's INCREDIBLY expensive). Seems like there should be a MUCH simpler approach.

I've read that people buy cheap phones and connect them to their server, but I don't have my own server (I'm using a cheap hosted server at MediaTemple).

like image 467
mattstuehler Avatar asked Sep 01 '10 19:09

mattstuehler


People also ask

What is a SMS web server?

An SMS Web service allows you to communicate and exchange data between heterogeneous applications and systems in order to administer mobile communication from a remote server and create a business intelligence system.

Do text messages go through a server?

SMS stands for Short Message Service and is a way to send text messages to mobile phones. The messages are sent through a server, which means they can be sent from anywhere in the world.


2 Answers

Here's another option:

Get your hands on a cheap Android device with GSM connectivity and install one of the many SMS Gateway apps in the Google Market.

For example, SMS Gateway says to support these features:

This application turns your android phone into powerful SMS gateway.

Features:

  1. Periodically checks for e-mails via POP3 and send them via SMS.
  2. Send SMS by HTTP GET request on its internal webserver.
  3. Forward received SMS to desired e-mail via SMTP.
  4. Forward received SMS by calling remote webserver via HTTP GET.

So you can forward incoming SMS to an email address or a web application (or web service or web API) and also you can SEND SMS via a HTTP GET request to its very own internal webserver.

Pretty neat, I'd say. And I'm sure there are others with similar or better features, still.

I am not affiliated to SMS Gateway (or any other sms gateway app on the Google Market).

EDIT: Forgot to mention... It's free!

like image 59
Mihai Caracostea Avatar answered Oct 20 '22 00:10

Mihai Caracostea


This is bad form... answering my own question, but I've just stumbled upon a possible simple (and FREE!) option.

You can sign up for Google Voice, using an email address of your own choosing. This gives you a phone number for users to send messages to. Then, through the settings, you can have any text messages sent to that number forwarded to the email address you've chosen. With a little PHP, you can read the phone number of the user who sent the text message, and the body of their message.

So far, this seems to work just fine. Not sure if it complies with GVoice's terms of service, but since my app is small and free, hopefully no one will notice.

I don't know how much volume you can run through this method, or if I'll run into other limitations.

Still interested in hearing about other and better solutions.

like image 39
mattstuehler Avatar answered Oct 19 '22 23:10

mattstuehler