Отправка SMS на мобильный телефон с помощью Django - PullRequest
18 голосов
/ 10 января 2009

Я создаю приложение, в котором у меня есть этот маленький модуль опроса, который отправляет простое смс на номер телефона, который я даю, и должен собрать ответ (если пользователь запускает его) и показать его мне. Я использую Django для создания своего проекта. Я пробовал django-sms google code project, но не мог публиковать сообщения со своего мобильного телефона на свой сервер. Я просмотрел много уроков на смс-шлюзах / носителях. Но я потерялся. Может кто-нибудь помочь мне предложить учебник по отправке смс из моего приложения (django) на любой мобильный телефон? А что касается отправки смс на мобильный телефон, будет ли это стоить мне (так же, как я отправляю смс с одного мобильного телефона на другой)?

Ответы [ 7 ]

16 голосов
/ 14 января 2014

Привет, меня зовут Джарод, и я работаю на Twilio.com, поэтому я немного предвзят. Но с учетом вышесказанного очень просто отправить SMS из вашего веб-приложения Python, используя Twilio Rest Api . Вот простой пример:

# 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
11 голосов
/ 10 января 2009

С технической точки зрения, самый простой способ выполнить отправку SMS с любым веб-приложением - это электронная почта. Большинство сотовых провайдеров обычно выдают учетные записи электронной почты своим пользователям, и отправка почты на указанную учетную запись, скорее всего, перенаправит почту в свою ячейку с помощью SMS. Однако не все перевозчики делают это, и некоторые взимают дополнительную плату за этот вид услуг. В этом случае вы можете выполнить эту проверку на следующей странице документации Django

Однако, как уже упоминалось, это не совсем полноценное решение, поэтому проще всего было бы использовать SMS-шлюз. В основном они предоставляют простые API на основе REST для отправки текстовых сообщений на мобильные телефоны. API будет варьироваться от оператора к оператору. Я бы рекомендовал проверить Kannel на случай, если вы ищете бесплатное решение с открытым исходным кодом (то есть если вы хотите установить реальный шлюз на ваш сервер).

В любом случае, я бы начал пытаться настроить его на работу со сценарием электронной почты, а затем перешел бы к использованию оператора связи, если вам это действительно нужно. Надеюсь, это поможет.

4 голосов
/ 17 февраля 2014

Я ответил на аналогичный вопрос, немного опоздав на игру, в другом посте. Вот это для дополнительной информации. Надеюсь, это поможет:

Я некоторое время боролся с этим, и мне очень понравился вариант Twilio. Но потом я углубился и обнаружил, что есть Google Voice API под названием pygooglevoice, который работает. Чисто, просто ... Нет поиска оператора ... Например, установите virtualenv и установите с pip:

pip install pygooglevoice

Тогда используйте что-то вроде этого:

from googlevoice import Voice
from googlevoice.util import input

def send(number, message):
    user = 'user@gmail.com'
    password = 'password'

    voice = Voice()
    voice.login(user, password)

    #number = input('Number to send message to: ') # use these for command method
    #message = input('Message text: ')

    voice.send_sms(number, message)

Обратите внимание, что я провел ограниченное тестирование с этим, поэтому я не уверен, все плюсы и минусы. Вполне возможно, что есть ограничения, которые я еще не обнаружил. Но в то время, когда я играл с этим, я был счастлив.

3 голосов
/ 10 января 2009

взгляните на django-sms

0 голосов
/ 29 декабря 2017

Я также нашел TextMagic . Это выглядит многообещающе, хотя и дороговато для страны, в которой я живу. Возможно, у нее есть конкурентоспособные цены для страны, в которой вы заинтересованы, поэтому , пожалуйста, проверьте цены, прежде чем начислять. Использование кажется достаточно простым:

Быстрая установка через пипс:

pip install textmagic

А отправка СМС выглядит тривиально следующим образом:

from textmagic.rest import TextmagicRestClient

username = "your_textmagic_username"
token = "your_apiv2_key"
client = TextmagicRestClient(username, token)

message = client.messages.create(phones="9990001001", text="Hello TextMagic")
0 голосов
/ 17 сентября 2010

http://bitbucket.org/vgavro/django-smsgate, очевидно, то, что вы ищете, но вы должны написать собственный бэкэнд для вашего смс-шлюза.

0 голосов
/ 17 августа 2010

Выезд twilio.com . Они предоставляют простой в использовании API (пара строк кода в Python) и возможность получать SMS-сообщения и запускать обратные вызовы в вашем приложении, когда пользователи отвечают.

...