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

mattstuehler picture mattstuehler · Sep 1, 2010 · Viewed 33.7k times · Source

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).

Answer

mattstuehler picture mattstuehler · Sep 1, 2010

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.