Система отправки сообщений (sms,email и тд). Шаблоны сообщений

Skip to end of metadata
Go to start of metadata

Описание системы отправки сообщений

Система отправки сообщений Carbon Billing 5 поддерживает следующие методы отправки:

Для работы системы сообщений следует настроить шаблоны и параметры отправки, для каждого метода свои.

Быстрый запуск. Как проверить?

  1. Настройте смс-шлюз;
  2. Укажите у оператора связи адрес почты отправителя;
  3. Настройте шаблоны сообщений. Уже есть предуастановленные почти по всем шаблонам;
  4. Заполните в карточке абонента реквизиты: "Email для оповещений" и "Номер SMS для оповещений" (можно что-то одно);
  5. Отправьте тестовое сообщение.

Настройка системы и методов отправки

Включение системы отправки сообщений

Для работы системы отправки сообщений, следует включить этот сервис в настройках биллинга
Для этого необходимо перейти в "Управление абонентами и тарифами - настройки - настройки(в файле) - настройки демона отправки сообщений" и выставить флаг в поле "Включить отправку сообщений"

Настройка SMS рассылки

  1. Откройте вкладку "Настройка сообщений" в карточке оператора связи. Нажмите кнопку "Редактировать" (пиктограмма в виде карандашика в колонке "Действие"


  2. Настройте требуемые параметры и нажмите "Сохранить".

Способы отправки смс:

  1. POST. Обязательные параметры:
    • Адрес СМС шлюза
    • Post параметры
    • MD5 подпись
  2. GET - данные для GET-запроса нужно записать в поле "Post параметры".
  3. Ростелеком JSON - игнорирует поле "Post параметры" и поле "MD5 подпись".

Список параметров:

  • Адрес СМС шлюза
  • Post параметры
  • Тип запроса к серверу - Доступны:
    • POST
    • GET
    • Ростелеком JSON
  • Заголовок сообщения - автоматический добавляемая тема email-сообщения, на случай если она не указана в шаблоне или в форме отправки сообщения.
  • Предупреждать о блокировке за n дней - количество дней для шаблона сообщения "Предупреждение за n дней" (описано далее в статье).
    Важно:
    Опция "Предупреждать о блокировке за n дней" не работает вместе с включенной опцией "Льготный период оплаты (Число месяца, до которого не проверять превышение баланса)
  • Количество попыток отправки - количество попыток в случае, если сервер, на который передаётся сообщение, не отвечает.
  • Начало тихого часа - начала периода времени, когда сообщения не отправляются (работает и на sms и на email).
  • Окончание тихого часа - конец периода времени, когда сообщения не отправляются (работает и на sms и на email).
  • MD5 подпись
  • Убирать + из номера - автоматический убирает + в начале телефонного номера (например, "79121234567" вместо "+79121234567") если этого требует sms-шлюз
  • Логин сервера sms - логин basic авторизации sms сервера.
  • Пароль сервера sms - пароль basic авторизации sms сервера.
    Для включения basic-авторизации необходимо одновременно заполнить поля логин\праоль сервера sms.
  • Имя отправителя sms - Имя отправителя. Используется только для типа отправки Ростелеком JSON.
    Важно:
    SMS-шлюз должен уметь принимать параметры отправляемого сообщения по протоколу http (или https). Отправка производится POST или GET запросом.

Пример запроса к sms-шлюзу

http://smsc.ru?charset=utf-8&login='company'&psw='company123'&phones=79991231122&mes=Тест отправки

Использованы следующие параметры:
smsc.ru - адрес вашего смс шлюза
company - название вашей компании
company123 - пароль, выданный смс-шлюзом
79991231122 - номер для тестовой отправки, на который придет смс
Тест отправки -  текст для отправки, указывается без кавычек

Соответственно, "Адрес СМС шлюза" из настроек сообщений в строке браузера находится слева от символа "?", а "Post параметры СМС шлюза" - справа, при этом используются переменные:

  • %(sms)s - номер телефона
  • %(text)s - текст сообщения.
Для того, чтобы корректно работал шаблон сообщений "Предупреждение за n дней", необходимо на вкладке "Настройка сообщений" у оператора связи указать параметр "Предупреждать о блокировке за n дней"
Поле Предупреждение за n дней будет работать для всех типов отправки сообщений с шаблоном Предупреждение за n дней

Примеры интеграции с SMS-шлюзами

SMSC

Сайт компании: smsc.ru

Обязательные параметры:

  1. Адрес СМС шлюза:
    https://smsc.ru/sys/send.php?
    
  2. Post параметры:
    charset=utf-8&login=Ваш логин&psw=Ваш пароль&phones=%sms%&mes=%text%
    
Важно:
Чтоб смс отправилось, в карточке абонента должен быть выбран оператор связи с настроенным смс-шлюзом.

Digital Direct

Сайт компании: digital-direct.ru

Обязательные параметры:

  1. Адрес СМС шлюза:
    https://direct.i-dgtl.ru/api/v1/message
    
  2. Тип запроса к серверу
    Digital Direct JSON
    
  3. Пароль сервера sms
    В ЛК Digital Direct необходимо получить ключ АПИ и вписать его в поле "Пароль сервера СМС"
    Важно: если ключ будет длиннее 128 символов, обратитесь к нам
  4. Имя отправителя sms
    Здесь нужно указать имя согласованное с провайдером (настраивается в ЛК Digital Direct)
  5. "Убирать "+" из номера"
    Здесь нужно поставить галочку.
  6. "Post параметры"
    При необходимости передачи доп. параметров: записать их в поле "Post параметры" в формате JSON, при этом убедиться что в логе /app/asr_billing/var/log/msgd.log нет ошибок отправки

Простор СМС

Сайт компании: prostor-sms.ru

Обязательные параметры:

  1. Адрес СМС шлюза:
    http://gate.prostor-sms.ru/send/
    
  2. Post параметры:
    login='Ваш логин'&password='Ваш пароль'&phone=%sms%&text=%text%
    

SMSPILOT.RU

Сайт компании: smspilot.ru

Описание интеграции в документации SMSPILOT.RU

Обязательные параметры:

  1. Адрес СМС шлюза:
    http://smspilot.ru/api.php
    
  2. Post параметры:
    send=%text%&to=%sms%&apikey=XXXYYYZZZ
    

    Вместо XXXYYYZZZ скопируйте API-ключ из настроек: Личный кабинет -> Настройки -> Настройки API

На стороне sms-шлюза Вы должны быть подключены как бизнес-клиент, либо скопировать шаблоны из Carbon Billing 5 в "Шаблоны" в личном кабинете SMSPILOT.RU

Ростелеком СМС Реклама

Сайт компании: rt.ru

Обязательные параметры:

  1. Адрес СМС шлюза:
    https://sms.rt.ru/api/v2/send_message
    
  2. Тип запроса к серверу
    Ростелеком JSON
    
  3. Логин сервера sms
  4. Пароль сервера sms
  5. Имя отправителя sms

SemySMS

Сайт компании: semysms.net

Описание интеграции в документации SemySMS

Обязательные параметры:

  1. Адрес СМС шлюза
    https://semysms.net/api/3/sms.php
    
  2. Тип запроса к серверу
    POST
    
  3. Post параметры
    token=Ваш токен&device=Код устройства&phone=%2B%sms%&msg=%text%
    

Настройка Email рассылки

Укажите Email для оповещений в карточке оператора связи. При формирования письма он будет добавлен в поле From. Например: info@provider.name

Обязательно заполните адрес, так как почтовые сервера отбрасывают письма с пустым полем From.

Настройка отправки Email со стороннего сервера

По умолчанию биллинг отправляет Email сообщения со встроенного smtp сервера - устаревший способ отправки. Для корректной отправки сообщений настройте отправку Email со стороннего сервера. Это предпочтительней, так как современные сервера пересылки почты используют многоступенчатую систему борьбы со спамом.
Чтобы попасть в настройки smtp сервера перейдите Настройки -> Настройки (в файле) -> Настройки демона отправки сообщений.

Страница настроек выглядит следующим образом:

Доступны в следующие настройки:

  • SMTP Шифрование SSL
  • SMTP Сервер
  • SMTP Порт
  • SMTP Пароль
  • enabled - включение отправки сообщений
  • SMTP Логин
  • SMTP Шифрование TSL
  • SMTP расширенное журналирование - Подробное журналирование SMTP-соединений
Чтобы вернуть настройки по умолчанию, необходимо в поле "SMTP Сервер" вписать "localhost", а поля "SMTP Порт", "SMTP Логин" и "SMTP Пароль" оставить пустыми.

Отправка Email через Google

Подробную информацию по интеграцию сторонних почтовых клиентов с Google, Вы можете найти в справке сервиса.

Такие параментры должны работать:

  • Адрес сервера: smtp.gmail.com
  • Порт: 587
  • SMTP Шифрование TSL: включено

Отправка Email через Yandex

Подробную информацию по интеграцию сторонних почтовых клиентов с Google, Вы можете найти в справке сервиса.

Такие параментры должны работать:

  • Адрес сервера: smtp.yandex.ru
  • Порт: 465
  • SMTP Шифрование SSL: включено
  • SMTP Шифрование TSL: выключено

Настройка Telegram рассылки и интеграция с ботом

Мы описали это статье Отправка уведомлений через Telegram

Настройка шаблонов сообщений

Создание шаблона

Создание в настройках биллинга

В пунте "Шаблоны сообщений" можно создать шаблоны доступные всем операторам связи. Для создания нажмите кнопку "Добавить".

Для каждого типа сообщения нужно создать свой шаблон.

Создание с привязкой к оператору связи

При ведении в биллинге нескольких опраторов связи можно создать различные шаблоны для каждого оператора. Сделать это можно в настройках конкретного оператора связи:

При этом шаблон сообщения отобразится в настройках биллинга. У него будет заполнено поле "Принадлежит оператору". Изменить пренадлежность опретору нет возможности. Для измения пренадлежности создайте новый шаблон.

Параметры шаблона сообщений

При создания шаблона сообщений доступны параметры:

  • Текст заголовка - тема e-mail или заголовок смс;
  • Текст шаблона - непосредственно отправляемый текст;
  • Отправлять сообщение - опция отвечает за то, нужно отправлять сообщение или нет;
  • Тип отправки - указывает метод, которым будет отправлено сообщение. Методы описаны в ниже;
  • Отправлять каждый день - работает только для шаблона "Предупреждение за n дней", при её активации сообщение отправится за количество дней указанных в настройках оператора связи в поле "Предупреждать о блокировке за n дней", а так же каждый день до даты когда он будет заблокирован;
  • Статус абонента - сообщения будут отправлены только абонентам со статусом;
  • Отправлять абоненту с типом договора - тип: юридические или физические лица;
  • Использовать шаблонизатор django - включает использование набора переменых django.

Возможные переменные

В шаблонах сообщений можно использвать два набора переменных - стандартные перемнные и переменные шаблонизатора django. В одном шаблоне сообщений можно использовать либо стандартные переменные, либо и переменные шаблонизатора django. Ниже перечислены стандартные переменные:

  • %(name)s - ФИО абонента;
  • %(contract_number)s - номер договора;
  • %(balance)s - текущий баланс;
    Для округления баланса до целого значения используйте параметр %(balance).f
  • %(currecy)s - валюта сокращение (например руб.);
  • %(text)s - передаваемый текст (сообщение непосредственно конкретному абоненту);
  • %(operator_name)s - имя оператора связи(по умолчанию "Лучший провайдер");
  • %(allow_limit)s - сумма, которая указана в пороге включения(тариф);
  • %(total_abonpay)s - общая сумма абонентской платы по тарифным и нетарифным услугам;
  • %(tarif_abonpay)s - сумма абонентской платы по тарифным услугам;
  • %(nontarif_abonpay)s - сумма абонентской платы по нетарифным услугам; вычисляется как разность общей суммы абонентской платы и абонентской платы по тарифным услугам;
  • %(gen_pwd)s - созданный через админ. панель пароль(не существует, если пароль изменен через ЛК);
  • %(login)s - логин абонента;
  • %(tarif_name)s - тариф абонента;
  • %(plan_comment)s - описание тарифа (например скорость, указывается руками);
  • %(recomend_pay_sum)5.2f - рекомендуемый платеж
  • %(recomend_pay_sum_post)5.2f - рекомендуемый платеж постоплата
  • %(minimal_pay_sum)5.2f - минимальный платеж для разблокировки
  • %(subscriber_name)s - Имя абонента, который создал заявку в helpdesk
  • %(abonent_id)s - ID абонента, который создал заявку в helpdesk
  • %(subscriber_sms) - номер телефона абонента, который создал заявку в helpdesk
  • %(subscriber_email)s - email абонента, который создал заявку в helpdesk
  • %(subscriber_home)s - адрес абонета, который создал заявку в helpdesk
  • %(enough_to_date)s - дата хватит денег до
  • %(psw_token)s - проверочный код для сброса пароля личного кабинета
    %(gen_pwd)s - это пароль всегда от первой учетной записи.

Пример:

Шаблон
Уважаемый Абонент! Ваши персональные данные: ФИО: %(name)s, Дата выставления Акта: %(next_auto_acount)s, Код в 1С: %(code1c)s, Дата начала предоставления услуг: %(activate_date)s, Лицевой счет: %(account_id)s, Тариф: %(tarif_name)s, Оператор связи: %(operator_name)s.
Сообщение
Уважаемый Абонент! Ваши персональные данные: ФИО: Новый абонент, Дата выставления Акта: 2017-11-01 00:00:00, Код в 1С: 1sTESTcode, Дата начала предоставления услуг: 2017-10-01 00:00:00, Лицевой счет: 10001319, Тариф: Анлим 0мб, Оператор связи: ООО Лучший провайдер.

Использование переменных Django

Шаблонизатор django содержит более широкий набор переменных. При его использвании можно указать любые поля абонента, тарифа, счета и прочих данных, отображённых на вкладке "Информация" в карточке абонента. Названия переменных можно взять из описания моделей в API REST v2.0. Доступны следующие модели:

  • Abonents
  • FinanceOperations

Так же можно получить данные из других моделей используя обратные ссылки. Например, получить значения счётчиков трафика.

{{ abonent.abonent_id_trafcounters }}

Пример использования обратной ссылки для отправки в сообщении логина и пароля от учетной записи с типом Internet:

{% for user in abonent.abonent_id_users.all %}
{% if user.service_type_id == 1 %}
Ваш логин: {{ user.login }}
Ваш новый пароль: {{ user.gen_pwd }}
{% endif %}
{% endfor %}

Переменные оператора связи можно получить из переменной Operator. Например имя оператора связи:

{{ operator.name }}

Если вы хотите использовать другие модели, обратитесь в техническую поддержку.

Включать шаблонизатор django нужно в каждом шаблоне сообщения.

Формат переменной. Например, номер договора абонента:

{{ abonent.contract_number }}

При включении опции "Использовать шаблонизатор django" можно использовать математические функции django. Например, вычислить сумму, которую должен внести абонент:

{% load mathfilters %}Обслуживание по л/с {{ abonent.contract_number }} приостановлено. Внесите не менее {% if total_abonpay <= BALANCE %}0{% else %}{{ total_abonpay|sub:BALANCE }}{% endif %} руб.

Также можно обрезать значение переменной(в примере ниже обрезаются последние 9 знаков). Например для того, чтобы отправить в сообщении только дату из поля Хватит денег до, без времени:

Денег хватит до {{ enough_to_date|slice:":-9" }}

В шаблонизаторе django так же можно использвать переменные из стандартного набора. Для этого укажите их в фомате django:

Формат стандартного набора
%(text)s
Формат django
{{ text }}

Тип сообщения. События.

Каждый шаблон сообщения может быть отправлен по любому из выбранных событий:

  • Подключение услуги - приходит абоненту при подключении услуги;
  • Положительный баланс - приходит абоненту при переходе абонента в положительный баланс(выше порога отключения абонента);
  • Отрицательный баланс - приходит абоненту при переходе абонента в отрицательный баланс(ниже порога отключения абонента);
  • Выставлен счет - приходит абоненту при выставлении счета абоненту (используется чаще для юр.лиц). Для того, чтобы отправка счета выполнялась вручную из вкладки "Операции", шаблон с данным типом должен быть включен. Вместе со счетом юр.лицам отправляется ещё и акт. Отправка акта выполняется с помощью этого же шаблона сообщений(Выставлен счет);
  • Зачисление денег - приходит абоненту при поступлении средств на счет (при условии что в настройках абонента стоят галочки Юр.лицо и Отправлять Счет/Акт, а также Настройки - Число месяца выставления счетов на предоплату);
  • Ручная отправка сообщения - при ручной отправке;
  • Занесено в Аудит - при занесении информации в Аудит;
  • Достигнут порог предупреждения - при достижении порога предупреждения (порог предупреждения из опций тарифа);
  • Сообщение из HelpDesk - при создании заявки от абонента в HelpDesk (приходит инженерам Helpdesk);
  • Сообщение из CRM - при создании задачи в CRM (приходит ответственному исполнителю);
  • Предупреждение за n дней - за n дней до даты когда абонент будет заблокирован;
  • Создание учетной записи из услуги - отправляется при создании учетной записи при подключении услуги;
  • Данные для HotSpot - данные для авторизации в HotSpot;
  • Комментарий к заявке HelpDesk - при создании коментария к заявке HelpDesk (приходит абоненту);
  • Анонимная заявка с вэб-сайта - отправляется при создании заявки на подкючение;
  • Поздравление - поздравление с праздником, подробнее в статье;
  • Сброс пароля в Личном кабинете - данные для сброса пароля от Личного кабинета, подробнее в статье.

Способы отправки сообщений

В настоящее время поддерживаются четыре способа отправки сообщений пользователям:

  • Письмо электроную почту (e-mail)
  • SMS сообщение на телефон
  • Telegram-бот, через который можно не только получать рассылку, но и получить данные по лицевому счету, услугам и тарифу

Если не выбрать конкретный вид сообщения, то рассылка будет вестись всеми доступными средствами.

Отправитель

Поле отправитель зависит от типа сообщения:

  • Если сообщение системное, например у пользователя кончились деньги на счёте, то в поле отправитель будет указан e-mail, принадлежащий Оператору связи.
  • Если сообщение отправлялось вручную с помощью веб-интерфейс администратора Carbon Billing 5, то отправителем будет указан e-mail администратора системы, который это сообщение отправил;
  • Если данные поля не заполнены, отправителем будет почта вида root@www.example.com, где www.example.com - доменное имя главного внешнего интерфейса.

Пример 1. Шаблон сообщения сброса пароля

Отправка сообщений

Важно:
При отправке СМС-сообщений нужно обязательно выбрать шаблон отправки. Если не выбрать шаблон, то сообщения уйдут по всем подходящим шаблонам (например, по всем абонентам в папках вместо одного).

Для отправки сообщений непосредственно одному из абонентов необходимо зайти в раздел Абоненты, выбрать абонента, вкладка Отправить сообщения.
Выбирается метод отправки и выбирается шаблон сообщения. Для отправки произвольного текста, следует создать шаблон с типом "Ручная отправка" и текстом шаблона %(text)s

Если выбрать "Метод отправки" и он отличается от того, что настроен в шаблоне сообщения (поле "Тип отправки"), то будет использоваться метод, выбранный на странице создания сообщения.
Например, если в шаблоне настроен тип "SMS", а на форме не выбран метод ("---"), то сообщение отправится только по SMS. Если в шаблоне настроен тип "SMS", но при создании сообщения выбрать "Email", то сообщение отправится только по Email.

Отладка

Логи работы демона отправки сообщений за текущие сутки находятся в файле

/app/asr_billing/var/log/msgd.log

Логи за прошедшие сутки архивируются в этом же каталоге под названием msgd.log-<date>.gz

Перестали отправляться email-сообщения абонентам, при использовании встроенного smtp сервера

  1. В момент отправки запускаем лог и видим следующее:
    Команда
    tail -f /app/asr_billing/var/log/msgd.log | grep -A2 'Отправляем'
    Пример вывода с ошибкой
    2019-11-18 13:45:37,976 - worker - msg_lib - INFO - Отправляем email сообщение абоненту:Иванов Иван Иванович
    2019-11-18 13:45:37,985 - worker - msg_lib - ERROR - Can't send:[Errno 111] Connection refused
    
  2. Проверим настройки почтового сервера. Если настройки стандартные, нужно проверить встроенный почтовый сервер на localhost. Проверим, запущен ли он:
    Команда
    service postfix status
    Пример вывода, сервер остановлен
    master остановлен
  3. Перезапускаем встроенный почтовый сервер:
    Команда
    service postfix restart
    Пример вывода, сервер перезапущен (остановлен он был ранее)
    Останавливается postfix:                                   [СБОЙ ]
    Запускается postfix:                                       [  OK  ]
    

Не отправляются email-сообщения, используем сторонний smtp сервер, по логу не ясно в чём проблема

Добавьте больше информации в лог:

  1. Включите опцию расширенного логирования в настройках
  2. Перезапустите службу отправки сообщений, для применения настроек
    chroot /app/asr_billing/ service msgd restart
    
  3. Сделайте пробную отправку сообщения

    Выберите метод отправки smtp. Текст и тема произвольные.
  4. Проследите в логе службы отправки сообщений за ходом отправки
    /app/asr_billing/var/log/msgd.log

    Пример:

    fgrep ERROR /app/asr_billing/var/log/msgd.log
    2018-09-02 10:22:26,350 - worker - msg_lib - ERROR - Can't send:(553, '5.7.1 Sender address rejected: not owned by auth user.', u'test@example.com')
    

    Произошла ошибка № 553, при отправке письма. Просмотреть коды ошибок можно в документации Google на руссом или IANA на английском.
    Если у вас возникнут вопросы по ошибкам в smtp диалоге, сохраните лог отправки и создайте обращение в портале HelpDesk.

Перестали отправляться sms-сообщения абонентам, в логе ошибка "SSL certificate problem"

Проверям лог отправки сообщений на наличие ошибок:

Команда
grep -i 'error' /app/asr_billing/var/log/msgd.log 

Видим сообщение об ошибке сертификата:

Пример вывода с ошибкой
2019-12-17 08:01:07,298 - worker - msg_lib - ERROR - Can't send message(Curl error):(60, 'SSL certificate problem: self signed certificate in certificate chain')
2019-12-17 08:01:07,423 - worker - msg_lib - ERROR - Can't send message(Curl error):(60, 'SSL certificate problem: self signed certificate in certificate chain')
2019-12-17 08:01:07,545 - worker - msg_lib - ERROR - Can't send message(Curl error):(60, 'SSL certificate problem: self signed certificate in certificate chain')

Данная ошибка означает, что биллинг не может подключиться к SMS-шлюзу из-за проблем с корневым SSL-сертификатом в chroot биллинга. Для решения проблемы необходимо обновить корневые SSL-сертификаты в chroot биллинга.

Команды
chroot /app/asr_billing
cd /etc/ssl/certs
rm -f ca-bundle.crt ca-bundle.trust.crt
wget https://curl.haxx.se/ca/cacert.pem --no-check-certificate
cp cacert.pem ca-bundle.crt
cp cacert.pem ca-bundle.trust.crt
rm -f cacert.pem 

В логе зафиксирована ошибка Can't send message id=#######:HTTPConnectionPool(host='1.1.1.1'('Ваш IP'), port=80):

2021-09-02 08:02:16,861 - worker - msg_lib - ERROR - Can't send message id=48788: HTTPConnectionPool(host='.1.1.1.1'('Ваш IP'), port=80):-
Max retries exceeded with url: /sms/add.php (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7ff3f093b850>: -
Failed to establish a new connection: [Errno 111] Connection refused',))

Это говорит о том что не удалось установить новое соединение с смс оператором и в настоящее время невозможно отправить собщение из за превышения максимального количества повторных попыток соединения для отправки смс сообщения. Необходимо обратиться к оператору предоставляющему смс услуги.

При отправке сообщения вручную, время указывается некорректно

Пример записи аудита
391045 	Системные события 	2020-10-19 12:41 test Добавлена запись №44011: таблица ОтправитьСообщения Изменения=([Время отправки=2020-10-20 00:00:54.314402],[Метод отправки=]

Необходимо проверить в настройках "Оператора" в разделе Настройка сообщений время начала и окончания "Тихого часа".

Не отправляются Email-сообщения, используем собственный SMTP-сервер, в логе ошибка "Name or service not known"

2021-06-30 09:33:38,863 - worker - msg_lib - INFO - SMTP params: host=smtp.my-personal-server.ru, port=465, tsl=True, ssl=True, login=info@my-personal-server.ru
2021-06-30 09:33:38,867 - worker - msg_lib - INFO - Отправляем email сообщение абоненту: Тестов Тест Тестович
2021-06-30 09:33:38,923 - worker - msg_lib - ERROR - Can't send:[Errno -2] Name or service not known

Скорей всего проблема в DNS - он не настроен для биллинга, не отвечает, или отдаёт некорректный ответ.

Попробуйте отрезолвить домен SMTP-сервера из биллинга:

chroot /app/asr_billing/ nslookup smtp.my-personal-server.ru
Server: 10.10.1.1
Address: 10.10.1.1#53

Name: smtp.my-personal-server.ru
Address: 10.10.0.1

DNS-сервер вернул локальный адрес. Скорей всего ответ неверный, так как обычно у публичного SMTP-сервера будет публичный IP-адрес.

Так же ответ может не прийти вообще, если DNS-сервер недоступен в данный момент, или может его не настроили.

Решение

Настройте исправный DNS-сервер в меню базового модуля по статье Настройка DNS

Ошибка: Can't send:(550, '5.1.1 < >: Recipient address rejected: User unknown in local recipient table')

2021-05-24 09:02:14,562 - worker - msg_lib - INFO - Отправляем email сообщение абоненту:VIP_client
2021-05-24 09:02:14,570 - worker - msg_lib - ERROR - Can't send:{u'\u0065\u006d\u0061\u0069\u006c': (550, '5.1.1 < >: Recipient address rejected: User unknown in local recipient table')}

Проверьте, корректно ли указан "Email для оповещений:" в карточке абонента.

Не отправляются сообщения Telegram, в логе ошибка "Name or service not known"

2021-06-30 09:26:52,663 - worker - msg_lib - INFO - Telegram params: token=11111111111:DDDDDDDDDDDDfffffffffFFFFFFFF88888FFFFF, proxy=None
2021-06-30 09:26:53,184 - worker - msg_lib - ERROR - Ошибка запуска Telegram-бота: urllib3 HTTPError HTTPSConnectionPool(host='api.telegram.org', port=443): Max retries exceeded with url: /bot1876073174:AAFmQXtNzLk_aCFguXk6ZX0EfamGhQz9aps/getMe (Caused by NewConnectionError('<telegram.vendor.ptb_urllib3.urllib3.connection.VerifiedHTTPSConnection object at 0x7f2f8e61ea10>: Failed to establish a new connection: [Errno -2] Name or service not known',))

Причина и решение такие же как для ошибки "Name or service not known" при отправке email: что-то не так с DNS-сервером или его настройкой в биллинге. Решение описано чуть выше.

Не отправляются сообщения Telegram, в логе ошибка "Can't send message due to unknown reason: Forbidden: user is deactivated"

2025-02-27 09:34:50,614 - worker - msg_lib - INFO - Отправка сообщения через Telegram абоненту #1234 Иван Иванович Иванов
2025-02-27 09:34:50,728 - worker - msg_lib - ERROR - Can't send message due to unknown reason#2315519: Forbidden: user is deactivated

Ошибка в логе указывает на то, что пользователь удалил Telegram-аккаунт или заблокировал бота. Чтобы решить проблему необходимо удалить Telegram ID из реквизитов абонента.

Ошибка в логе Chat not found

2021-08-26 08:39:29,703 - worker - msg_lib - INFO - Отправка сообщения через Telegram абоненту #2731 VIP_CLIENT
2021-08-26 08:39:29,713 - worker - msg_lib - INFO - Абонент #2731 не зарегистрирован в боте
2021-08-26 08:39:29,956 - worker - msg_lib - ERROR - Can't send message #436655: Chat not found

Проверьте, назначен ли абоненту TELEGRAM ID в "Реквизитах", либо сформируйте отчет для просмотра всех абонентов которые подключили бота.

Отключить отправку сообщений на сервере

Иногда во время отладки или работе с базой данных на тестовом сервере полезно отключить отправку сообщений.

  1. Отключите отправку в конфигурационном файле биллинга:
    Путь конфигурационному файлу
    /app/asr_billing/cfg/config
    
    Служба отправки сообщений включена
    msgd['enabled']='1'
    
    Служба отправки сообщений отключена
    msgd['enabled']='0'
    
  2. Перезапустите службу отправки сообщений для примения измений в силу:
    chroot /app/asr_billing/ service msgd restart
    

Метки

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.
  1. сен 25, 2018

    Собянин Александр говорит:

    Опция "Использовать шаблонизатор django" Настройки SMTP: Управление абонентам...
    • Опция "Использовать шаблонизатор django"
    • Настройки SMTP: Управление абонентами и тарифами --> Настройки --> Настройки (в файле) --> Настройка демона отправки сообщений
    • Ошибка smtp.gmail.com, error code 534, нужно включить https://myaccount.google.com/lesssecureapps