Skip to main content

SMS Aero SMPP Lib

Project description

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

Project details


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.0.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.0-py2.py3-none-any.whl (17.2 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: smsaero_smpp-1.0.0.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.0.tar.gz
Algorithm Hash digest
SHA256 1e9fcbea3207b82e6f5ca14d49c9be9e70b8809c5ad1110db6de774064b12c88
MD5 569e76e5cd5a4ed17ea03e4716c1e69b
BLAKE2b-256 94f9f2a8d762c5272be174afd5bb6f2d896eaba8c8bf397708648e348448ccce

See more details on using hashes here.

File details

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

File metadata

  • Download URL: smsaero_smpp-1.0.0-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.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2c15a313458316002aa40ead9a5b14310b21592ac39ca6fa2b57ff1bdbe8e1f8
MD5 127201bdca3bdfe232947666264f2ca6
BLAKE2b-256 0ad4a7643608f1cab3741a50ff43f6e77ed885a3f0499471687a7d2eed4941e7

See more details on using hashes here.

Supported by

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