Подтвердить что ты не робот

Отправка SMS на мобильный телефон с использованием Django

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

4b9b3361

Ответ 1

Привет, меня зовут Jarod, и я работаю на 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

Ответ 2

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

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

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

Ответ 3

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

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

pip install pygooglevoice

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

from googlevoice import Voice
from googlevoice.util import input

def send(number, message):
    user = '[email protected]'
    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)

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

Ответ 5

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

Ответ 7

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

Использование кажется довольно простым:

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

pip install textmagic

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

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