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.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.

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