Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sending an SMS to a Cellphone using Django

Tags:

I am building an application, where I have this little survey module, which sends out a simple sms to the phone number I give and has to collect the response(if the user fires it) and show it to me. I am using to django build my project. I have tried django-sms google code project, but I couldn't post messages back from my mobile to my server. I have browsed through many tutorials on sms-gateways/carriers. But I am lost. Can anyone help me in suggesting a tutorial about sending sms from my application(django) to any cellphone? And regarding sending sms to cellphone, would it cost me(just as how i send sms from one cellphone to another)?

like image 562
None-da Avatar asked Jan 10 '09 04:01

None-da


2 Answers

Hi my name is Jarod and I work for Twilio.com so I am a little biased. But with that said, it is super easy to send an SMS from your Python web application using the Twilio Rest Api. Here is a simple example:

# Download the Python helper library from twilio.com/docs/python/install 
from twilio.rest import TwilioRestClient

# Your Account Sid and Auth Token from twilio.com/user/account
account_sid = "{{ account_sid }}"
auth_token  = "{{ auth_token }}"
client = TwilioRestClient(account_sid, auth_token)

message = client.messages.create(
    body="Jenny please?! I love you <3",
    to="+15558675309",
    from_="+14158141829",
    media_url="http://www.example.com/hearts.png")
print message.sid
like image 189
Jarod Reyes Avatar answered Oct 13 '22 00:10

Jarod Reyes


From a technical standpoint, the easiest way to accomplish SMS sending with any web-app is through e-mails. Most cell providers usually give out email accounts to their users, and sending a mail to said account will more likely than not redirect the mail to their cell via SMS. However, not all carriers do this and some charge extra for this type of service. In this case, you could handle this checking out the following Django documentation page

However, as mentioned, this isn't a really complete solution, so the easiest way would be to use a SMS-gateway. Mostly, they provide simple REST based API's for sending text messages to cell phones. The API would vary obviously from carrier to carrier. I would recommend checking out Kannel in case you're looking for a free and open source solution (that is assuming you want to install the actual gateway on your server).

Anyway, I would start out trying to get it to work with the e-mail scenario, and then moving on to using a carrier if you actually require it. Hopefully this helps somewhat.

like image 34
David Avatar answered Oct 13 '22 00:10

David