Email processor (email)
Описание
Процессор обмена email-сообщениями с почтовыми серверами.
Обеспечивает коммуникацию с почтовыми серверами (IMAP, STMP). Мониторит включенные IMAP каталоги, поступающие от отправителей сообщения размещает в коллекции модели данных /rest/v1/model/email/Messages, а создаваемые в ней сообщения `sending` отправляет получателям посредством SMTP.
Формирует коллекции/классы: email/Profiles, email/Accounts, email/Folders, email/Messages. Допускает их дальнейшую модификацию в сторону расширения состава свойств и вариантов значений перечислимых полей.
Взаимодействие с внешней бизнес-логикой осуществляется с использованием статусов сообщений (`sending`, `sent`, `error`, `received`, `raw`).
Код |
|
Режим работы |
|
Режим резервирования |
|
Типы сайтов |
|
Слой |
|
Размещение |
|
Сохранение и восстановление состояния при перезагрузке |
|
Приложение |
|
Возможности
-
Почтовые сообщения могут быть текстовыми, html или содержащими оба альтернативных варианта.
-
Вложения сохраняются в виде вложений к сущности email/Messages (поле file) и доступны через /rest/v1/model/email/Messages/ID_MESSAGE/attachments.
-
HTML содержимое также сохраняется в виде вложения в поле html и доступно через /rest/v1/model/email/Messages/ID_MESSAGE/html.
-
Все инлайны (файлы, используемые в рамках HTML) сохраняются в виде вложений в поле inlines и доступны через /rest/v1/model/email/Messages/ID_MESSAGE/inlines.
-
При получении сообщения его исходное содержимое RFC822 сохраняется в сущности в поле rawMessage в виде вложения и доступно через /email/Message и доступно через /rest/v1/model/email/Messages/ID_MESSAGE/rawMessage.
-
В случае, если сообщение не может быть распарсено и разложено по полям, то в сохраняется его неразобранное содержимое, и выставляется специальный статус `raw`
-
При создании аккаунта (/rest/v1/model/email/Accounts) и наличия соответствующего ему профиля (/rest/v1/model/email/Profiles) производит опрос состава каталогов и размещает их в выключенном виде в коллекцию email/Folders). После включения каталога начинается его мониторинг на предмет поступающих сообщений, а также мониторинг коллекциии email/Messages с фильтром по каталогу на предмет готовых к отправке сообщений.
Ограничения
-
Работает в режиме периодического опроса IMAP-сервера на предмет наличия входящих сообщений. Таймаут между опросами составляет по умолчанию 30 секунд. Управляется с помощью значения `after_read_timeout` в поле options по убыванию: /email/Folder, /email/Account, /email/Profile.
-
За удаление писем в IMAP каталоге отвечает параметр `deleteOnServer` сущности каталога.
Параметры
Пример конфигурации
Управление конфигурацией производится в приложении, доступном для администраторов мастер-домена. Приложение скрывает полное содержание конфигурации, однако тем не менее оно доступно через API.
Конфигурация содержит раздел для описания всех экземпляров всех ролей. Параметры определяются для каждого конкретного экземпляра роли.
{
"name": "im1",
"roletype": "im",
"iface": "eth0",
"group": 11330,
"order": 1
}