Рубрики
Без рубрики

Как отправлять текстовые SMS-сообщения с помощью Python

Практическое руководство по отправке SMS (текстовых сообщений) с использованием языка программирования Python.

Автор оригинала: Matt Makai.

Текстовые сообщения службы коротких сообщений (SMS) используются повсеместно по всему миру. SMS-сообщения легко отправлять с Приложение Python, использующее интерфейс программирования веб-приложений (API). Давайте посмотрим на инструменты, которые нам нужны для быстрого добавления возможности SMS к нашему Приложения Python.

Инструменты, которые нам нужны

Это руководство работает как с Python 2, так и с 3, поэтому убедитесь, что у вас есть один из эти две версии установлены.

Если вам нужна помощь в установке pip и virtualenv, ознакомьтесь с первые несколько шагов как настроить Python 3, Flask и Green Unicorn на Ubuntu 16.04 LTS руководство, которое покажет, как установить системные пакеты для этих инструментов.

Использование веб-API

Мы собираемся использовать веб-API, чтобы упростить и повысить надежность отправки SMS. Направляйтесь к Веб-сайт Twilio и зарегистрируйтесь для получения бесплатной пробной учетной записи отлично подходит не только для отправки текстовых сообщений!), затем войдите в свой существующий аккаунт.

Пробная учетная запись Twilio позволяет отправлять текстовые сообщения на свой подтвержденный номер телефона. Если вы хотите отправить SMS на любой номер телефона в ваша страна или другие страны, тогда вы можете обновить свою учетную запись для отправки сообщения за доли цента.

После регистрации вы получите бесплатный номер телефона в вашей стране. Мы можем использовать этот номер телефона без какой-либо конфигурации для отправки исходящего текста сообщения. Вы также можете получать текстовые сообщения, но это требует изменения веб-перехватчик URL-адреса запроса на экране настройки номера телефона – мы расскажем об этом в будущем сообщении в блоге.

Установка нашей зависимости

Наш код будет использовать вспомогательную библиотеку, чтобы упростить отправку текстовых сообщений. из Python. Мы собираемся установить вспомогательную библиотеку из PyPI в файл virtualenv. Сначала нам нужно создайте файл virtualenv. В вашем терминале используйте следующую команду для создания новый virtualenv. Если вам нужно установить virtualenv, взгляните на как настроить Python 3, Flask и Green Unicorn на Ubuntu 16.04 LTS руководство.

virtualenv sendsms

Активируйте virtualenv.

source sendsms/bin/activate

Командная строка изменится после того, как мы правильно активируем virtualenv. примерно так:

Теперь установите вспомогательную библиотеку Twilio Python. Мы используем 6.0.0 или более поздней версии библиотеки, что важно, поскольку синтаксис в этот пост обратно несовместим с 5.x и предыдущим помощником Twilio версии библиотеки.

pip install twilio>=6.0.0

Теперь вспомогательная библиотека установлена, и мы можем использовать ее с кодом Python. мы создаем и выполняем.

Отправка SMS с Python

Запустите интерпретатор Python в терминале с помощью команды python , или создайте новый файл с именем send_sms.py .

Нам нужно получить учетные данные нашей учетной записи из консоли Twilio для подключения наш код Python в нашу учетную запись Twilio. Перейти к Twilio Console и скопируйте SID учетной записи. и токен аутентификации в ваш код Python.

Введите следующий код в интерпретатор или в новый файл Python. Вы также можете скопировать и вставить код из репозиторий Git-кода-примеров блога в Организация Full Stack Python на GitHub .

# we import the Twilio client from the dependency we just installed
from twilio.rest import Client

# the following line needs your Twilio Account SID and Auth Token
client = Client("ACxxxxxxxxxxxxxx", "zzzzzzzzzzzzz")

# change the "from_" number to your Twilio number and the "to" number
# to the phone number you signed up for Twilio with, or upgrade your
# account to send SMS to any phone number
client.messages.create(to="+19732644152", 
                       from_="+12023351278", 
                       body="Hello from Python!")

Все строки выше, начинающиеся с # , являются комментариями. Как только вы войдете в это код в интерпретатор или запустите скрипт Python, используя python send_sms.py будет отправлено SMS.

Через несколько секунд вы должны увидеть сообщение на вашем телефоне. Я на iOS, вот как выглядело полученное мной текстовое сообщение.

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

Вопросов? Свяжитесь со мной через Twitter @fullstackpython или @mattmakai . Я также на GitHub с имя пользователя mattmakai .

Что-то не так в этом посте? Вилка исходный текст этой страницы на GitHub и отправьте запрос на перенос.