С помощью модуля Подключение к внешним почтовым серверам вы можете настроить отправку и получение почтовых сообщений BILLmanager. Биллинговая платформа может использовать локальный почтовый сервер.
При установке BILLmanager на сервер выполняется проверка на наличие локальных почтовых серверов. Если ни один не найден, автоматически будет установлен Exim, Postfix или Sendmail, в зависимости от пакетного менеджера операционной системы.
После установки локального почтового сервера дополнительная настройка не выполняется. Настройка локального MTA (mail transfer agent) — задача администратора сервера.
Сервер исходящих сообщений
Использование локального сервера
По умолчанию биллинговая платформа использует для отправки сообщений локальный почтовый сервер. Для отправки уведомления вызывается команда sendmail -t, которой передаётся письмо, сформированное системой.
Использование внешнего сервера
Чтобы настроить внешний почтовый сервер, перейдите в раздел Интеграция → Шлюзы сообщений → кнопка Создать:
- Создание шлюза — выберите "Внешний почтовый сервер".
- Параметры шлюза — укажите данные для подключения к удалённому SMTP-серверу:
- Использовать для — выберите тип использования шлюза: для исходящих сообщений. Изменить тип шлюза после сохранения настроек будет недоступно.
- Провайдер — выберите провайдера, к которому будет подключён созданный шлюз. После сохранения настроек изменение провайдера будет недоступно.
- Типы уведомлений, которые будут отправляться через этот шлюз.
- Активировать после создания — активируйте опцию, чтобы шлюз был включён после сохранения настроек.
- Email адрес — укажите email пользователя на внешнем почтовом сервере.
В заголовок "from" будет подставлен почтовый ящик, который указан в настройках провайдера. В заголовок "sender" будет подставлен почтовый ящик, который указан в настройках почтового шлюза в BILLmanager. - Адрес сервера — укажите доменное имя или IP-адрес сервера для подключения.
- Порт — укажите порт подключения к серверу.
- Имя пользователя и Пароль — укажите данные пользователя для подключения к серверу.
- Шифрование подключения — выберите тип шифрования подключения к серверу:
- Не используется;
- SSL;
- TLS.
Алгоритм отправки сообщений
BILLmanager формирует письмо на основе EJS-шаблона и записывает информацию о нём в базу данных, таблица "notifytask". Файл электронного письма сохраняется в директории /usr/local/mgr5/var/notify/<дата>/<идентификатор письма>. В планировщике заданий (cron) имеется задание "BILLmanager set ntemail messages", которое выполняется каждую минуту. В рамках задания данные из таблицы "notifytask" передаются почтовому серверу и выполняется отправка письма. После отправки, таблица очищается и файл письма удаляется.
Сервер входящих сообщений
Идентификация сообщений
При получении сообщения почтового шлюза BILLmanager проверяет email, с которого было отправлено сообщение:
-
Если такой email уже зарегистрирован в BILLmanager в качестве email клиента, то сообщение привязывается к клиенту и направляется в раздел Запросы отделу, указанному в настройках шлюза.
Когда настроена платная поддержка по обращениям и у клиента нет обращений, письмо не попадет в раздел Запросы. Клиенту отправляется обратное письмо, где сообщается о недостатке обращений. - Если сообщение приходит с неизвестного почтового ящика, то оно направляется в раздел "Входящие сообщения", где сотрудники вручную сортируют полученные сообщения.
Какие сообщения шлюза попадают в BILLmanager
BILLmanager просматривает все непрочитанные email сообщения. Письма, у которых заголовок "TO" равен email, указанному в настройках шлюза, попадают в BILLmanager. Если письмо было отправлено на email, для которого не настроен шлюз, то такие письма не попадут в BILLmanager. Также игнорируются пустые письма.
Например, в BILLmanager настроен шлюз входящих сообщений для почтового адреса "support@company.NET". В систему будут попадать только письма, которые адресованы "support@company.net". Если настроить ящик "support@company.COM" алиасом для "support@company.net", то письма, которые адресованы на "support@company.com", не будут попадать в систему, т.к. почтового шлюза для такого email не существует. Если письмо будет отправлено сразу двум адресатам — "support@company.net" и "support@company.com", то письмо попадёт в систему.
Использование локального сервера
Для получения почты с локального сервера, необходимо создать шлюз типа "Внешний почтовый сервер" и настроить его на подключение к localhost.
Использование внешнего сервера
Чтобы настроить внешний почтовый сервер, перейдите в раздел Интеграция → Шлюзы сообщений → кнопка Создать:
- Создание шлюза — выберите "Внешний почтовый сервер".
- Параметры шлюза — укажите данные для подключения к удалённому POP3 или IMAP-серверу:
- Использовать для — выберите тип использования шлюза: для входящих сообщений. Изменить тип шлюза после сохранения настроек будет недоступно.
- Провайдер — выберите провайдера, к которому будет подключён созданный шлюз. После сохранения настроек изменение провайдера будет недоступно.
- Отдел — выберите отдел, на который будут назначены запросы, поступившие на указанный почтовый адрес.
- Направлять в нарушения — активируйте опцию, чтобы чтобы письма, которые приходят на указанный email, попадали не в меню Запросы, а в список нарушений. Это список, который будет доступен указанному Отделу.
- Активировать после создания — активируйте опцию, чтобы шлюз был включён после сохранения настроек.
- Email адрес — укажите email пользователя на внешнем почтовом сервере.
В заголовок "from" будет подставлен почтовый ящик, который указан в настройках провайдера. В заголовок "sender" будет подставлен почтовый ящик, который указан в настройках почтового шлюза в BILLmanager. - Адрес сервера — укажите доменное имя или IP-адрес сервера для подключения.
- Протокол подключения — выберите протокол:
- POP3;
- IMAP.
- Порт — укажите порт подключения к серверу.
- Имя пользователя и Пароль — укажите данные пользователя для подключения к серверу.
- Шифрование подключения — выберите тип шифрования подключения к серверу:
- Не используется;
- SSL;
- TLS.
- При получении сообщения — выберите действие при получении сообщения с сервера:
- ничего не делать;
- удалить сообщение с сервера.
Логика работы
Раз в несколько минут BILLmanager подключается к серверу, чтобы получить непрочитанные сообщения. Полученные сообщения биллинговая платформа отмечает как прочтённые.
При работе с POP3 сервером полученные письма могут не помечаться, как прочтенные — это зависит от настроек почтового сервера.
Чтобы предотвратить повторное получение писем, рекомендуется в поле При получении сообщения выбрать значение "Удалить сообщение с сервера".
Логирование
Локальный сервер
Лог взаимодействия BILLmanager с локальным почтовым сервером сохраняется в файл /usr/local/mgr5/var/gwlocalmail.log.
Для расширенного отображения информации добавьте в файл /usr/local/mgr5/etc/debug.conf строку:
gwlocalmail.notify 9
gwlocalmail.* 9
Внешний сервер
Лог взаимодействия BILLmanager с внешним почтовым сервером сохраняется в файл /usr/local/mgr5/var/gwremotemail.log.
Для расширенного отображения информации добавьте в файл /usr/local/mgr5/etc/debug.conf строку:
gwremotemail.notify 9
или
gwremotemail.* 9