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

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (112)

просмотр истории страницы
* PUSH

Устаревшие и более не используемые способы отправки (названия оставлены для совместимости):
* Agent
* Winpop
* WhatsApp

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

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

# [Настройте смс-шлюз|#configure_gate].;
{info}Если у Вас *демо* \- то уже настроен шлюз Carbon и этот шаг можно пропустить.{info}
# [Укажите у оператора связи адрес почты отправителя|#configure_isp];
# [Настройте шаблоны сообщений|#configure_messages]. Уже есть предуастановленные почти по всем шаблонам.;
# Заполните в карточке абонента реквизиты: "*Email для оповещений*" и "*Номер SMS для оповещений*" (можно что-то одно)
# [Заполните в карточке абонента реквизиты|CarbonBilling:Создание абонента. Заведение абонента. Работа с абонентами. Редактирование абонентов#fill_sms_email_fields]: "*Email для оповещений*" и "*Номер SMS для оповещений*" (можно что-то одно);
# [Отправьте тестовое сообщение|#send_message].

h1. Настройка системы и методов отправки
\\
\\ !smsgate_1.png|border=1,width=800!\\
# Настройте требуемые параметры и нажмите "*Сохранить*".
\\
# Снимите опцию "*Использовать СМС шлюз Carbon*" и нажмите "*Сохранить*", Вас автоматический перенаправит на вкладку "*Настройка сообщений*" в карточке оператора связи
\\ !smsgate_5.png|border=0,width=400!
\\
\\ !smsgate_2.png|border=1,width=450!\\
h4. Способы отправки смс:
\\
# Снова нажмите кнопку "*Редактировать*"
\\
\\ !smsgate_3.png|border=1,width=700!\\
\\
# Настройте требуемые параметры и нажмите "*Сохранить*". Обязательными являются:
\\
\\
# POST. Обязательные параметры:
#* Адрес СМС шлюза
#* Post параметры
#* MD5 подпись
\\
\\ !smsgate_4.png|border=1,width=450!
# GET - данные для GET-запроса нужно записать в поле "Post параметры".
# Ростелеком JSON - игнорирует поле "Post параметры" и поле "MD5 подпись".

Следующие параметры настройте по необходимости:
h4. Список параметров:

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

* {color:#008000}%(text)s{color} \- текст сообщения.

{note}Для того, чтобы корректно работал шаблон сообщений "*Предупреждение за n дней*", необходимо в настройках сообщений на вкладке "*Настройка сообщений*" у оператора связи указать параметр "*Предупреждать о лимите блокировке за n дней*" {note}

{info} Поле *Предупреждение за n дней* будет работать для всех типов отправки сообщений с шаблоном *Предупреждение за n дней*
{info}

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

*Сайт компании:* *[smsc.ru|https://smsc.ru/?ppcarbon|https://smsc.ru/?ppcarbon]*

Обязательные параметры:
# Адрес СМС шлюза:
{code}
https://smsc.ru/sys/send.php?
{code}

# Post параметры:
{code}
charset=utf-8&login=Ваш логин&psw=Ваш пароль&phones=%sms%&mes=%text%
{note}

h3. Простор СМС
h3. [Digital Direct|https://digital-direct.ru]

*Сайт компании:* *[digital-direct.ru|https://digital-direct.ru]*

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


h3. [Простор СМС|https://prostor-sms.ru]

*Сайт компании:* *[prostor-sms.ru|https://prostor-sms.ru]*

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

h3. [SMSPILOT.RU|https://smspilot.ru]

*Сайт компании:* *[smspilot.ru|https://smspilot.ru]*

[Описание интеграции в документации SMSPILOT.RU|https://smspilot.ru/faq.php#q61]


Обязательные параметры:
# Адрес СМС шлюза:
{code}
http://smspilot.ru/api.php
{code}
# Post параметры:
{code}
send=%text%&to=%sms%&apikey=XXXYYYZZZ
{code}

Вместо *XXXYYYZZZ* скопируйте API-ключ из настроек: [Личный кабинет|https://smspilot.ru/my.php] \-> Настройки \-> [Настройки API|https://smspilot.ru/my-settings.php#api]

{anchor:configure_isp}

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

*Сайт компании:* *[rt.ru|https://msk.rt.ru]*

Обязательные параметры:
# Адрес СМС шлюза:
{code}
https://sms.rt.ru/api/v2/send_message
{code}
# Тип запроса к серверу
{code}
Ростелеком JSON
{code}
# Логин сервера sms
# Пароль сервера sms
# Имя отправителя sms

h3. [SemySMS|https://semysms.net]

*Сайт компании:* *[semysms.net|https://semysms.net/]*

[Описание интеграции в документации SemySMS|https://semysms.net/api.php]


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

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

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

По умолчанию биллинг отправляет Email сообщения со встроенного smtp сервера. Но также есть возможность отправлять Email со стороннего сервера.
По умолчанию биллинг отправляет Email сообщения со встроенного smtp сервера. Для корректной отправки сообщений со встроенного сервера необходимо [зарегистровать домен для почтовой рассылки|Регистрация домена для почтовой рассылки].
Но также есть возможность отправлять Email со стороннего сервера. Это предпочтительней, так как современные сервера пересылки почты используют многоступенчатую систему борьбы со спамом. Использование стороннего почтового сервера избавит вас от конфигурирования собсвенного почтового сервера.
Чтобы попасть в настройки smtp сервера перейдите Настройки \-> Настройки (в файле) \-> Настройки демона отправки сообщений.

* *SMTP Шифрование TSL*: включено

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

Подробную информацию по интеграцию сторонних почтовых клиентов с Google, Вы можете найти в [справке сервиса|https://yandex.ru/support/mail/mail-clients/others.html].

Такие параментры должны работать:
* *Адрес сервера*: smtp.yandex.ru
* *Порт*: 465
* *SMTP Шифрование SSL*: включено
* *SMTP Шифрование TSL*: выключено

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

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


h2. Настройка PUSH-уведомлений из личного кабинета

Мы описали это статье [CarbonBilling:PUSH-уведомления из личного кабинета|CarbonBilling:PUSH-уведомления из личного кабинета]


h2. А что с WhatsApp?

h3. WhatsApp Business API, официальный метод интеграции

Пока этот метод не поддерживается. Мы делали тестовую интеграцию с WhatsApp в 2017 году, поэтому такой способ отправки сообщений остался в интерфейсе, но по техническим причинам развития функция не получила.

На текущий момент официальным методом интеграции является подключение к WhatsApp Bisiness API через партнёров Facebook, что несёт с собой некоторую финансовую нагрузку на компанию, рассылающую сообщения - то есть оператора связи.

Подробней об условиях Вы можете уточнить у партнёра Facebook в России, компании [Infobip|https://www.infobip.com/products/whatsapp-business]. Если Вы сочтёте их условия приемлемыми, напишите нам - мы реализуем интеграцию в Carbon Billing 5.

h1. Настройка шаблонов сообщений
h3. Неофициальный метод интеграции, могут заблокировать номер

!2.png|border=1,width=600!
Для каждого типа сообщения надо создать свой шаблон
!3.png|border=1,width=600!
Как пример подобного сервиса - [https://chat-api.com/ru/]

Опция *Отправлять сообщение* отвечает за то нужно отправлять сообщение или нет. Эту галочку можно также поставить в самом шаблоне при редактировании.
Опция *Отправлять каждый день* работает только для шаблона "Предупреждение за n дней", при её активации сообщение отправится за количество дней указанных в настройках оператора связи в поле "Предупреждать о лимите за n дней", а так же каждый день до даты когда он будет заблокирован.
Это не очень надёжное, но распространённое решение. WhatsApp может заблокировать номер заподозрив рассылку спама.

h3. Пример 1. Шаблон сообщения [сброса пароля|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=155713989]
{info}Если Вам нужен именно такой метод интеграции с Chat API, либо другим подобным сервисом - пожалуйста, напишите нам. Мы сделаем интеграцию при достаточном спросе среди операторов связи{info}

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

!Выделение_001.jpg|border=1!
h2. Создание шаблона

h3. Создание в настройках биллинга
В пунте *"Шаблоны сообщений"* можно создать шаблоны доступные всем [операторам связи|Агентские схемы и ведение филиалов]. Для создания нажмите кнопку *"Добавить"*.
!Create_msg_001.png|border=1,width=1200!
Для каждого типа сообщения нужно создать свой шаблон.
!3.png|border=1,width=600!

h3. Создание с привязкой к оператору связи
При ведении в биллинге нескольких [опраторов связи|Агентские схемы и ведение филиалов] можно создать различные шаблоны для каждого оператора. Сделать это можно в настройках конкретного оператора связи:
!2.png|border=1,width=600!
При этом шаблон сообщения отобразится в настройках биллинга. У него будет заполнено поле *"Принадлежит оператору"*. Изменить пренадлежность опретору нет возможности. Для измения пренадлежности создайте новый шаблон.

h2. Параметры шаблона сообщений
При создания шаблона сообщений доступны параметры:
* *Текст заголовка* - тема e-mail или заголовок смс;
* *Текст шаблона* - непосредственно отправляемый текст;
* *Отправлять сообщение* - опция отвечает за то, нужно отправлять сообщение или нет;
* *Тип отправки* - указывает метод, которым будет отправлено сообщение. Методы описаны в [ниже|Система отправки сообщений (sms,email и тд). Шаблоны сообщений#Способы отправки сообщений];
* *Отправлять каждый день* - работает только для шаблона "Предупреждение за n дней", при её активации сообщение отправится за количество дней указанных в настройках оператора связи в поле "Предупреждать о блокировке за n дней", а так же каждый день до даты когда он будет заблокирован;
* *Статус абонента* - сообщения будут отправлены только абонентам со [статусом|Статусы абонентов];
* *Отправлять абоненту с типом договора* - тип: юридические или физические лица;
* *Использовать шаблонизатор django* - включает использование набора переменых [django|Система отправки сообщений (sms,email и тд). Шаблоны сообщений#Использование переменных Django].

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

В шаблонах можно использовать следующие параметры:
В шаблонах сообщений можно использвать два набора переменных - стандартные перемнные и переменные шаблонизатора [django|Система отправки сообщений (sms,email и тд). Шаблоны сообщений#Использование переменных Django]. В одном шаблоне сообщений можно использовать либо стандартные переменные, либо и переменные шаблонизатора django. Ниже перечислены стандартные переменные:
* %(name)s - ФИО абонента;
* %(contract_number)s - номер договора;
* %(balance)s - текущий баланс;
{info}
Для округления баланса до целого значения используйте параметр %(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_comment)s - [стандартный реквизит|Реквизиты] "Комментарий"
%(psw_token)s - проверочный код для [сброса пароля Личного кабинета|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=155713989]
{info}
%(gen_pwd)s - это пароль всегда от *первой* учетной записи
* %(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 - проверочный код для [сброса пароля личного кабинета|Восстановление пароля к личному кабинету]
{info}
%(gen_pwd)s - это пароль всегда от *первой* учетной записи.
{info}

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

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

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

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

*Текст заголовка* \- тема e-mail или заголовок смс.
*Текст шаблона* \- непосредственно отправляемый текст.
Пример использования обратной ссылки для отправки в сообщении логина и пароля от учетной записи с типом Internet:
{code}
{% for user in abonent.abonent_id_users.all %}
{% if user.service_type_id == 1 %}
Ваш логин: {{ user.login }}
Ваш новый пароль: {{ user.gen_pwd }}
{% endif %}
{% endfor %}
{code}
Переменные оператора связи можно получить из переменной *Operator*. Например имя оператора связи:
{code}
{{ operator.name }}
{code}

h2. Использование переменных Django
Если вы хотите использовать другие модели, обратитесь в [техническую поддержку|https://helpdesk.carbonsoft.ru].

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

!message_django_01.png|border=1!

Формат переменной. Например, номер договора абонента:
{code}
{{ abonent.contract_number }}
{code}

При включении опции "Использовать шаблонизатор django" можно использовать математические функции django. Например, вычислить сумму, которую должен внести абонент:
{code}
{% load mathfilters %}Обслуживание по л/с {{ abonent.contract_number }} приостановлено. Внесите не менее {% if total_abonpay <= BALANCE %}0{% else %}{{ total_abonpay|sub:BALANCE }}{% endif %} руб.
{code}
Также можно обрезать значение переменной(в примере ниже обрезаются последние 9 знаков). Например для того, чтобы отправить в сообщении только дату из поля Хватит денег до, без времени:
{code}
Денег хватит до {{ enough_to_date|slice:":-9" }}
{code}
В шаблонизаторе django так же можно использвать переменные из стандартного набора. Для этого укажите их в фомате django:
{code:title=Формат стандартного набора}
%(text)s
{code}
{code:title=Формат django}
{{ text }}
{code}

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

h32. Отправитель

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

* Если сообщение системное, например у пользователя кончились деньги на счёте, то в поле отправитель будет указан e-mail, принадлежащий Оператору связи.

* Если сообщение отправлялось вручную с помощью веб-интерфейс администратора Carbon Billing 5, то отправителем будет указан e-mail администратора системы, который это сообщение отправил;

* Если данные поля не заполнены, отправителем будет почта вида root@www.example.com, где www.example.com - доменное имя главного внешнего интерфейса.

{anchor:send_message}

h2. Пример 1. Шаблон сообщения [сброса пароля|Восстановление пароля к личному кабинету]

!Выделение_001.jpg|border=1!

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

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

Для отправки сообщений непосредственно одному из абонентов необходимо зайти в раздел Абоненты, выбрать абонента, вкладка Отправить сообщения. !send_message.png|border=1,width=701,height=184!
Выбирается метод отправки и выбирается шаблон сообщения. Для отправки произвольного текста, следует создать шаблон с типом *"Ручная отправка"* и текстом шаблона *%(text)s*

Если выбрать "Метод отправки" и он отличается от того, что настроен в шаблоне сообщения (поле "Тип отправки"), то будет использоваться метод, выбранный на странице создания сообщения.
Например, если в шаблоне настроен тип "SMS", а на форме не выбран метод ("---"), то сообщение отправится только по SMS. Если в шаблоне настроен тип "SMS", но при создании сообщения выбрать "Email", то сообщение отправится только по Email.
!send_message.png|border=1,width=701,height=184!

h1. Отладка
{code}

h3. Проблемы с отправкой email-сообщений, при использовании стороннего smtp сервера
Для отладки отправки smtp сообщений сделайте следующее:
h3. Не отправляются email-сообщения, используем сторонний smtp сервер, по логу не ясно в чём проблема

Добавьте больше информации в лог:
# Включите опцию расширенного логирования в [настройках|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=49087090#Системаотправкисообщений(sms%2Cemail).Шаблонысообщений-НастройкаотправкиEmail]
!smtp01.png|border=1!
Выберите метод отправки smtp. Текст и тема произвольные.
!smtp04.png|border=1!
# Проследите в логе службы отправки сообщений за ходом отправки
{code}/app/asr_billing/var/log/msgd.log{code}
Пример:
{code}
Произошла ошибка № 553, при отправке письма. Просмотреть коды ошибок можно в документации [Google|https://support.google.com/a/answer/3726730?hl=ru&ref_topic=1355150] на руссом или [IANA|https://www.iana.org/assignments/smtp-enhanced-status-codes/smtp-enhanced-status-codes.xhtml] на английском.
Если у вас возникнут вопросы по ошибкам в smtp диалоге, сохраните лог отправки и создайте заявку обращение в [техническую поддержку|https://helpdesk.carbonsoft.ru/login.php]. портале [HelpDesk|https://helpdesk.carbonsoft.ru/login.php].

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

Проверям лог отправки сообщений на наличие ошибок:
{code:title=Команда}grep -i 'error' /app/asr_billing/var/log/msgd.log {code}
cp cacert.pem ca-bundle.trust.crt
rm -f cacert.pem {code}

h3. В логе зафиксирована ошибка Can't send message id=#######:HTTPConnectionPool(host='1.1.1.1'('Ваш IP'), port=80):
{code}
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',))
{code}
Это говорит о том что не удалось установить новое соединение с смс оператором и в настоящее время невозможно отправить собщение из за превышения максимального количества повторных попыток соединения для отправки смс сообщения. Необходимо обратиться к оператору предоставляющему смс услуги.

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

{code:title=Пример записи аудита}
391045 Системные события 2020-10-19 12:41 test Добавлена запись №44011: таблица ОтправитьСообщения Изменения=([Время отправки=2020-10-20 00:00:54.314402],[Метод отправки=]
{code}
Необходимо проверить в настройках "Оператора" в разделе *Настройка сообщений* время начала и окончания "Тихого часа".

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

{code}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{code}

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

Попробуйте отрезолвить домен SMTP-сервера из биллинга:
{code:title=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{code}
DNS-сервер вернул локальный адрес. Скорей всего ответ неверный, так как обычно у публичного SMTP-сервера будет публичный IP-адрес.

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

h4. Решение

Настройте исправный DNS-сервер в меню [базового модуля|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=155353709] по статье [Настройка DNS|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=155353741#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0%28%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B%D1%81%D0%B5%D1%82%D0%B8%29-%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0DNS]


h3. Ошибка: Can't send:(550, '5.1.1 < >: Recipient address rejected: User unknown in local recipient table')
{code}
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')}{code}
Проверьте, корректно ли указан "Email для оповещений:" в карточке абонента.

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

{code}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',)){code}

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

h3. Ошибка в логе Chat not found
{code}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{code}
Проверьте, назначен ли абоненту TELEGRAM ID в "Реквизитах", либо сформируйте [отчет|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=175833127#Примерытехническихотчётов-Отчетсоспискомабонентов%2CподключившихоповещениечерезTelegram.SUP651766] для просмотра всех абонентов которые подключили бота.

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

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