Tuesday, May 13, 2008

HOWTO: Send E-mail to SMS

With an e-mail address for your mobile phone you make it simple for friends and web services to reach you. Here I'll show you how to create a new e-mail address that will forward all messages to your mobile phone using SMS. It will not cost you more than one single SMS to set it all up.

SMS is a great technology in many ways. It works on the most ancient of phones; it does not require a data plan and an SMS message is typically free to receive, depending on your operator. While some cellular operators provide a free e-mail to SMS gateway, most don't. The biggest problem is that it costs money to send SMS. Below is a method of working around that cost.

I am aware of three different web services that offer free worldwide SMS notifications to registered users: Google Calendar, Jaiku and Twitter. ICQ used to offer it, but they now charge money for their SMS service. I investigated the different offerings to see if their infrastructure could provide public free access to sending SMS. I finally struck gold with twitter.

Follow these steps to make it happen:

  • Create a main twitter account (if you already have one, skip this step).
  • Associate the twitter account with your mobile phone (requires that you send an SMS back from the phone to verify that it's really yours).
  • Create a second account on twitter, which will act as a proxy. A short username is recommended since it is prepended to all SMS messages. Since you can't use the same e-mail address as for your main twitter account, you can just make up an address.
  • Protect the updates of this account, in order to prevent your incoming messages from being public on twitter.
  • Create a twittermail account and associate it with the twitter proxy account.
  • Make your main twitter user follow your twitter proxy account.
  • Log in to your proxy twitter account and allow the new request.
  • Log back in with your main twitter account and allow device updates from your proxy account.

Try to send an e-mail to the twittermail address to verify that the flow works and that you receive the SMS.

Using twitter for this purpose will allow you to receive 250 SMS messages per week. During my experiments I've measured the delay between sending the e-mail and receiving the SMS to be around 30 seconds, which is not bad.

If the message is longer than what will fit in an SMS (~160 characters), the end of the message will be replaced with a tinyurl link for you to read the whole message in your web browser. This means that all longer messages you receive will be available via a random, private tinyurl link. Some people will have issues with their private messages being available on a random public URL. For me is not such a big issue, because it is unlikely that anyone will hack into that random URL, and even if they do they will not be able to easily associate the message with me.

twittermail also offers you the opportunity to schedule messages for future delivery by adding a time to the subject-line. Example: "21:00" will publish your post at 21:00 (9 PM) GMT+1.

There are a lot of tempting scenarios for a service like this. One would be to set up a GMail filter, automatically forwarding incoming e-mail to the twitter proxy to get SMS alerts when a new e-mail arrives. This would be huge for mobile phone users who don't have access to data plans, for example when you are abroad and want to avoid the outrageous roaming fees.

Unfortunately, the link between GMail and twittermail fails. It seems that twittermail blocks automatically forwarded messages from GMail. I tried to set up an auto-forwarding e-mail address between GMail and twittermail but again twittermail's filter caught it. If anybody succeeds in forwarding e-mails from GMail to twittermail, or you find other interesting use cases with this system, please add a comment!

No comments:

Post a Comment