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

Metadata

Release files for smsaero-smpp 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for smsaero-smpp 1.0.1
File Size Uploaded
smsaero_smpp-1.0.1.tar.gz 18.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for smsaero-smpp 1.0.1
File Interpreter ABI Platform
smsaero_smpp-1.0.1-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 35.9 kB

Release files / smsaero_smpp-1.0.1.tar.gz

Download URL smsaero_smpp-1.0.1.tar.gz
Size 18.8 kB
Tags Source
SHA-256 checksum
How to use checksums
3cfc8aaefbaa8fd4306a0ed99c9971bf17e16e6252b16da8d79a106371d0239e
BLAKE2b-256 checksum
How to use checksums
7884dbe658ff6d907784674fa59bc5421ba94b8b9ddd93b96ed8d27281a546de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / smsaero_smpp-1.0.1-py2.py3-none-any.whl

Download URL smsaero_smpp-1.0.1-py2.py3-none-any.whl
Size 17.2 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
ad936b68e61f8251652f2316191e7128bc68c3e238a199531baa286adc16b37b
BLAKE2b-256 checksum
How to use checksums
313db99f15ac3c8f3a221fc0b166abec5b6aa3c84fdadeecbb2500e99d0b80da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page