- Описание системы отправки сообщений
- Быстрый запуск. Как проверить?
- Настройка системы и методов отправки
- Включение системы отправки сообщений
- Настройка SMS рассылки
- Примеры интеграции с SMS-шлюзами
- Настройка Email рассылки
- Настройка Telegram рассылки и интеграция с ботом
- Настройка шаблонов сообщений
- Создание шаблона
- Параметры шаблона сообщений
- Возможные переменные
- Использование переменных Django
- Тип сообщения. События.
- Способы отправки сообщений
- Отправитель
- Пример 1. Шаблон сообщения сброса пароля
- Отправка сообщений
- Отладка
Описание системы отправки сообщений
Система отправки сообщений Carbon Billing 5 поддерживает следующие методы отправки:
Для работы системы сообщений следует настроить шаблоны и параметры отправки, для каждого метода свои.
Быстрый запуск. Как проверить?
- Настройте смс-шлюз;
- Укажите у оператора связи адрес почты отправителя;
- Настройте шаблоны сообщений. Уже есть предуастановленные почти по всем шаблонам;
- Заполните в карточке абонента реквизиты: "Email для оповещений" и "Номер SMS для оповещений" (можно что-то одно);
- Отправьте тестовое сообщение.
Настройка системы и методов отправки
Включение системы отправки сообщений
Для работы системы отправки сообщений, следует включить этот сервис в настройках биллинга
Для этого необходимо перейти в "Управление абонентами и тарифами - настройки - настройки(в файле) - настройки демона отправки сообщений" и выставить флаг в поле "Включить отправку сообщений"

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

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

Способы отправки смс:
- POST. Обязательные параметры:
- Адрес СМС шлюза
- Post параметры
- MD5 подпись
- GET - данные для GET-запроса нужно записать в поле "Post параметры".
- Ростелеком 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
Обязательные параметры:
- Адрес СМС шлюза:
https://smsc.ru/sys/send.php? - Post параметры:
charset=utf-8&login=Ваш логин&psw=Ваш пароль&phones=%sms%&mes=%text%
| Важно: Чтоб смс отправилось, в карточке абонента должен быть выбран оператор связи с настроенным смс-шлюзом. |
Digital Direct
Сайт компании: digital-direct.ru
Обязательные параметры:
- Адрес СМС шлюза:
https://direct.i-dgtl.ru/api/v1/message - Тип запроса к серверу
Digital Direct JSON
- Пароль сервера sms

В ЛК Digital Direct необходимо получить ключ АПИ и вписать его в поле "Пароль сервера СМС" 
Важно: если ключ будет длиннее 128 символов, обратитесь к нам - Имя отправителя sms
Здесь нужно указать имя согласованное с провайдером (настраивается в ЛК Digital Direct) - "Убирать "+" из номера"
Здесь нужно поставить галочку. - "Post параметры"
При необходимости передачи доп. параметров: записать их в поле "Post параметры" в формате JSON, при этом убедиться что в логе /app/asr_billing/var/log/msgd.log нет ошибок отправки
Простор СМС
Сайт компании: prostor-sms.ru
Обязательные параметры:
- Адрес СМС шлюза:
http://gate.prostor-sms.ru/send/ - Post параметры:
login='Ваш логин'&password='Ваш пароль'&phone=%sms%&text=%text%
SMSPILOT.RU
Сайт компании: smspilot.ru
Описание интеграции в документации SMSPILOT.RU
Обязательные параметры:
- Адрес СМС шлюза:
http://smspilot.ru/api.php - Post параметры:
send=%text%&to=%sms%&apikey=XXXYYYZZZ
Вместо XXXYYYZZZ скопируйте API-ключ из настроек: Личный кабинет -> Настройки -> Настройки API
На стороне sms-шлюза Вы должны быть подключены как бизнес-клиент, либо скопировать шаблоны из Carbon Billing 5 в "Шаблоны" в личном кабинете SMSPILOT.RU
Ростелеком СМС Реклама
Сайт компании: rt.ru
Обязательные параметры:
- Адрес СМС шлюза:
https://sms.rt.ru/api/v2/send_message - Тип запроса к серверу
Ростелеком JSON
- Логин сервера sms
- Пароль сервера sms
- Имя отправителя sms
SemySMS
Сайт компании: semysms.net
Описание интеграции в документации SemySMS
Обязательные параметры:
- Адрес СМС шлюза
https://semysms.net/api/3/sms.php - Тип запроса к серверу
POST
- 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
{{ 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 сервера
- В момент отправки запускаем лог и видим следующее:
Команда
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
- Проверим настройки почтового сервера. Если настройки стандартные, нужно проверить встроенный почтовый сервер на localhost. Проверим, запущен ли он:
Команда
service postfix status
Пример вывода, сервер остановленmaster остановлен
- Перезапускаем встроенный почтовый сервер:
Команда
service postfix restart
Пример вывода, сервер перезапущен (остановлен он был ранее)Останавливается postfix: [СБОЙ ] Запускается postfix: [ OK ]
Не отправляются email-сообщения, используем сторонний smtp сервер, по логу не ясно в чём проблема
Добавьте больше информации в лог:
- Включите опцию расширенного логирования в настройках

- Перезапустите службу отправки сообщений, для применения настроек
chroot /app/asr_billing/ service msgd restart
- Сделайте пробную отправку сообщения

Выберите метод отправки smtp. Текст и тема произвольные.

- Проследите в логе службы отправки сообщений за ходом отправки
/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-сервера из биллинга:
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 в "Реквизитах", либо сформируйте отчет для просмотра всех абонентов которые подключили бота.
Отключить отправку сообщений на сервере
Иногда во время отладки или работе с базой данных на тестовом сервере полезно отключить отправку сообщений.
- Отключите отправку в конфигурационном файле биллинга:
Путь конфигурационному файлу
/app/asr_billing/cfg/config
Служба отправки сообщений включенаmsgd['enabled']='1'
Служба отправки сообщений отключенаmsgd['enabled']='0'
- Перезапустите службу отправки сообщений для примения измений в силу:
chroot /app/asr_billing/ service msgd restart

Комментарии (1)
сен 25, 2018
Собянин Александр говорит:
Опция "Использовать шаблонизатор django" Настройки SMTP: Управление абонентам...