Skip to main content

Python библиотека для отправки SMS сообщений через SMPP протокол на сервис SMS Aero

PyPI version Python Versions License

Установка с использованием пакетного менеджера pip:

pip install smsaero-smpp

Пример использования в коде:

Логин и пароль Вы можете добавить в настройках аккаунта, включая статический IP-адрес на странице https://smsaero.ru/cabinet/settings/apikey/, в секции "SMPP-доступы".

from smsaero_smpp import SmsAeroSmpp


SMSAERO_USER = 'ваш логин'
SMSAERO_PASS = 'ваш пароль'


def send_sms(phone: str, message: str) -> None:
    """
    Отправка SMS сообщения

    Параметры:
    phone (int): Номер телефона.
    message (str): Содержание SMS сообщения.
    """
    client = SmsAeroSmpp(
        login=SMSAERO_USER,
        password=SMSAERO_PASS,
        source='SMS Aero',
    )
    
    try:
        result = client.send_sms(phone, message)
        print(result)
    except ValueError as e:
        print(f"Ошибка валидации: {e}")
    except ConnectionError as e:
        print(f"Ошибка подключения: {e}")


if __name__ == '__main__':
    send_sms('+79038805678', 'Привет, мир!')

Использование в командной строке (полезно для автоматизации):

export SMSAERO_USER="ваш логин"
export SMSAERO_PASS="ваш пароль"

smsaero_smpp_send \
    --login "$SMSAERO_USER" \
    --password "$SMSAERO_PASS" \
    --phone +79038805678 \
    --message 'Привет, мир!' \
    --debug  # опционально для включения подробного логирования

Запуск в Docker (demo):

docker pull 'smsaero/smsaero_python_smpp:latest'

docker run -it --rm smsaero/smsaero_python_smpp:latest \
    smsaero_smpp_send \
    --login "ваш логин" \
    --password "ваш пароль" \
    --phone +79038805678 \
    --message 'Привет, мир!'

Исключения

  • SmsAeroConnectionError - исключение при ошибке подключения к SMPP серверу (например, IP не в белом списке)
  • ValueError - исключение при некорректных входных данных (неверный формат телефона, IP, порта и т.д.)

Дополнительные параметры командной строки

  • --ip - IP адрес SMPP сервера (по умолчанию: 82.202.194.38)
  • --port - Порт SMPP сервера (по умолчанию: 2775)
  • --source - Имя отправителя (по умолчанию: SMS Aero)

Особенности

  • Поддержка длинных сообщений (до 960 символов)
  • Автоматическая валидация номера телефона
  • Поддержка международного формата номеров
  • Подробное логирование при необходимости

Требования

  • Python 3.6+
  • smpplib
  • phonenumbers

Лицензия

MIT License

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smsaero_smpp-1.0.1.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smsaero_smpp-1.0.1-py2.py3-none-any.whl (17.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file smsaero_smpp-1.0.1.tar.gz.

File metadata

  • Download URL: smsaero_smpp-1.0.1.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.20

File hashes

Hashes for smsaero_smpp-1.0.1.tar.gz
Algorithm Hash digest
SHA256 3cfc8aaefbaa8fd4306a0ed99c9971bf17e16e6252b16da8d79a106371d0239e
MD5 28006c53b2472b1083efc6799b24be7c
BLAKE2b-256 7884dbe658ff6d907784674fa59bc5421ba94b8b9ddd93b96ed8d27281a546de

See more details on using hashes here.

File details

Details for the file smsaero_smpp-1.0.1-py2.py3-none-any.whl.

File metadata

  • Download URL: smsaero_smpp-1.0.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.20

File hashes

Hashes for smsaero_smpp-1.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ad936b68e61f8251652f2316191e7128bc68c3e238a199531baa286adc16b37b
MD5 786bd793df45e72a4fe67c323ce584ad
BLAKE2b-256 313db99f15ac3c8f3a221fc0b166abec5b6aa3c84fdadeecbb2500e99d0b80da

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page