“How can I send SMS text messages from my application for free?” I see this question asked so frequently on forums that I decided a few months back to do some research on it, and was surprised to learn of a little-known service most mobile carriers provide absolutely free.
There are lots of commercial services that provide convenient APIs to SMS gateways. The problem is, they all cost money. Most charge a monthly service fee, plus a fee for each message – often as high as 20 cents per message for casual users.
However, if you need to send SMS messages to the US and Canada, you can take advantage of the Email-to-Text capability provided by most mobile carriers, which is totally free.
An SMS address is no different from a regular email address. It consists of a 10-digit mobile number, the @ symbol, and a special domain name that corresponds to a particular carrier. For example, if your mobile number is 212-555-1234 and you’re on AT&T, I could text you by sending an email to firstname.lastname@example.org.
Here are the domains for the most popular carriers:
- AT&T (formerly Cingular) — txt.att.net
- Verizon — vtext.com
- T-Mobile — tmomail.net
- Virgin Mobile — vmobl.com
- Sprint — messaging.sprintpcs.com
- Nextel — messaging.nextel.com
Keep in mind that the subject line becomes part of the message as well, usually prepended by the work “Subject:”. Since SMS messages are limited to 160 characters, you might want to omit the subject altogether, and of course keep the body of the message as short as possible. Fortunately, if your message does exceed 160 characters, you'll find that most services will split them up into multiple messages.
Hope this helps some of you cheapskates (like me!) save a little cash.
P.S. If you're aware of a domain for any carrier I didn't mention above, please leave it in the comments and I'll add it to this post.