Получение эл. почты с помощью сценариев через IMAP и Exchange. Настройка подключения, пути передачи данных и сценария
Введение
Comindware Platform может получать эл. почту и обрабатывать данные из писем: помещать их в атрибуты, передавать в сценарии и процессы и т. д.
Подключения типа «Получение эл. почты через IMAP» и «Получение сообщений через Exchange» используются в сценариях. В процессах используются подключения типа «Получение эл. почты в процессе».
Здесь представлены инструкции по настройке подключения к почтовому серверу по протоколу IMAP или Exchange, пути передачи данных и сценария для получения эл. писем.
Порядок настройки получения эл. писем из сценария
- Настройте подключение к почтовому серверу типа «Получение эл. почты через IMAP» или «Получение сообщений через Exchange».
- Настройте путь передачи данных типа «Получение эл. почты через IMAP» или «Получение сообщений через Exchange», использующий созданное подключение.
- Настройте шаблон записи для хранения данных из эл. писем.
- Настройте сценарий, который будет обрабатывать и помещать в шаблон записи данные из писем, полученных посредством настроенных подключения и пути передачи данных.
Настройка подключения к почтовому серверу для получения почты с помощью сценария
Логика чтения писем на почтовом сервере
При подключении к почтовому серверу для получения эл. почты Comindware Platform выступает как почтовый клиент, который регулярно проверяет наличие новых писем.
При каждой проверке почтового ящика Comindware Platform:
- обрабатывает новые письма;
- отмечает новые письма как прочтённые.
Таким образом, каждое непрочитанное письмо в указанном почтовом ящике будет обработано и отмечено как прочитанное.
Рекомендации по настройке:
- Используйте отдельный ящик эл. почты для автоматической обработки писем, чтобы избежать случайной обработки личной корреспонденции.
- Создайте технический процесс для приема входящих писем с последующей маршрутизацией по типу письма.
- Анализируйте содержимое писем (тему, отправителя, текст) для определения дальнейших действий при использовании одного адреса для обработки писем разных типов.
- Откройте страницу «Администрирование» — «Подключения».
- Откройте двойным нажатием или создайте подключение к электронной почте типа «Получение эл. почты через IMAP» или «Получение сообщений через Exchange».
-
Настройте подключение к серверу:
- Системное имя — введите уникальное имя подключения. Рекомендуются буквы латинского алфавита, цифры и символ «_».
- Отключить — установите этот флажок, если требуется временно деактивировать данное подключение.
- Описание — введите наглядное описание подключения.
- Запись в файловые журналы — выберите, какие события следует записывать в журналы:
- Полные сведения об обработке сообщения;
- Только ошибки;
- Отключить — не регистрировать в журнале события получения писем.
- IMAP
- Адрес почтового сервера — введите адрес IMAP-сервера без указания протокола (IMAP, HTTPS, HTTP).
- Порт — введите номер порта IMAP-сервера.
- Шифрование — выберите протокол шифрования, который поддерживает IMAP-сервер:
- Отсутствует — не использовать шифрование;
- SSL;
- TLS.
- Exchange
- URL веб-сервера Exchange — введите адрес почтового сервера c указанием протокола (HTTPS, HTTP).
- Версия Exchange — выберите версию сервера Exchange.
- Тип аутентификации — выберите способ проверки подлинности, используемый сервером:
- Отсутствует;
- Базовая;
- Аутентификация Windows.
- Имя пользователя — укажите учётную запись для подключения к серверу.
- Пароль — введите пароль к учётной записи для подключения к серверу.
- Домен — укажите домен пользователя сервера.
- Шифрование — выберите протокол шифрования, который поддерживает сервер:
- Отсутствует — не использовать шифрование;
- SSL;
- TLS.
- Интервал опроса — укажите интервал, с которым Comindware Platform будет проверять наличие новых писем.
-
Нажмите кнопку «Проверить соединение», чтобы проверить соединение с сервером.
- При необходимости нажмите кнопку «Скачать журнал», чтобы просмотреть журнал событий получения писем.
- Сохраните подключение.
Настройка пути передачи данных для получения почты с помощью сценария
Путь передачи данных для получения эл. почты служит для преобразования и передачи данных из эл. письма в Comindware Platform.
- Откройте страницу «Администрирование» — «Архитектура» или страницу «Администрирование» приложения.
- Выберите пункт «Пути передачи данных» .
- Откройте двойным нажатием в списке или создайте путь передачи данных типа «Подключения к электронной почте» — «Получение эл. почты через IMAP» или «Получение сообщений через Exchange».
-
Настройте свойства пути передачи данных на следующих вкладках:
-
Сохраните путь передачи данных.
Основные свойства
На вкладке «Основные свойства» настройте параметры использования пути передачи данных:
- Подключение — выберите подключение для получения эл. почты из сценариев через SMTP или Exchange.
- Системное имя — введите уникальное имя пути передачи данных. Рекомендуются буквы латинского алфавита, цифры и символ «_».
- Отключить — установите этот флажок, если требуется временно деактивировать путь передачи данных.
- Описание — введите наглядное описание пути передачи данных, например «Путь для получения писем».
- Номер шины данных — выберите номер от 0 до 3, если требуется распределить потоки данных нескольких путей для повышения производительности.
Атрибуты сообщений
На вкладке «Атрибуты сообщений» настройте атрибуты, в которые будут подставляться значения полей эл. письма.
Извлечение значений атрибутов из эл. письма
- На вкладке «Атрибуты сообщений» пути передачи данных настройте набор атрибутов, значения которых требуется извлечь из письма.
- При необходимости настройте атрибуты, которые требуется передать на почтовый сервер в качестве ответа и ответа с ошибкой. Значения этим атрибутам необходимо присвоить с помощью действия «Изменить значения переменных» в сценарии.
- С помощью сценария передайте значения атрибутов сообщения, содержащие данные из эл. письма, в шаблон записи. Например, передайте текст и тему письма из атрибутов сообщения HtmlBody и Subject в атрибуты шаблона записи «Текст письма» и «Тема письма».
-
Выберите тип сообщения:
- Получение эл. почты — для IMAP и Exchange;
- Получение события календаря — для Exchange.
-
В таблицах «Запрос», «Ответ» и «Ответ с ошибкой» отобразятся готовые атрибуты сообщений, соответствующие выбранному типу сообщения:
-
При необходимости настройте собственные атрибуты сообщений
Атрибуты для получения эл. почты через IMAP и Exchange
- To — получатели письма (массив объектов).
- Name — имя получателя (строка).
- Address — адрес эл. почты (строка).
- From — отправитель письма (строка).
- Name — имя отправителя (строка).
- Address — адрес эл. почты (строка).
- Subject — тема письма (строка).
- HtmlBody (для IMAP) / RawBody (для Exchange) — текст письма (строка).
- Attachments — прикреплённые файлы (массив объектов).
- Name — имя файла.
- Extension — расширение файла (строка).
- Content — содержимое файла (строка).
- Cc — копии (массив объектов).
- Name — имя получателя (строка).
- Address — адрес эл. почты (строка).
- Bcc — скрытые копии (массив объектов).
- Name — имя получателя (строка).
- Address — адрес эл. почты (строка).
- Headers — дополнительные заголовки (массив объектов).
- Name — имя заголовка (строка).
- Value — значение заголовка (строка).
Атрибуты для получения событий календаря через Exchange
- To — получатели письма (массив объектов).
- Name — имя получателя (строка).
- Address — адрес эл. почты (строка).
- From — отправитель письма (объект).
- Name — имя получателя (строка).
- Address — адрес эл. почты (строка).
- Subject — тема письма (строка).
- RawBody — текст письма (строка).
- Attachments — прикреплённые файлы (массив объектов).
- Name — название файла (строка).
- Extension — расширение файла (строка)
- Content — содержимое файла (строка).
- Location — место встречи (строка).
- Start — время начала встречи (дата и время).
- End — время завершения встречи (дата и время).
Атрибуты для ответа почтовому серверу
В таблицах «Ответ» и «Ответ с ошибкой» можно настроить атрибуты, которые Comindware Platform будет отправлять почтовому серверу после получения нового письма:
- ответ отправляется, если Comindware Platform удалось прочитать письмо.
- ответ с ошибкой отправляется, если Comindware Platform не удалось прочитать письмо.
Таким образом, например, можно сообщить почтовому серверу, что письмо получено и прочитано.
Значения атрибутам ответа и ответа с ошибкой необходимо присвоить с помощью действия «Изменить значения переменных» в сценарии.
В таблице «Ответ» для получения событий из календаря через Exchange предусмотрены готовые атрибуты:
- IsDeclined — собрание отклонено (логический).
- IsTentative — собрание под вопросом (логический).
- HasMessage — ответ содержит сообщение (логический).
Настройка собственного атрибута сообщения
Чтобы создать атрибут сообщения, нажмите кнопку «Добавить» над таблицей «Запрос», «Ответ» или «Ответ с ошибкой» и заполните свойства атрибута:
- Системное имя — введите уникальное имя атрибута, по которому вы будете обращаться к нему в сценарии.
- Тип — выберите тип атрибута:
- Строка
- Число
- Длительность
- Дата и время
- Временной период
- Логический
- Объект
- Ключ-значение
- Описание — введите наглядное название атрибута.
- Обязательный, Не пустой, Массив — установите флажки согласно назначению атрибута.
Настройка шаблона записи и сценария для получения эл. писем
В качестве примера настроим шаблон и сценарий для получения писем и сохранения имени и адреса отправителя в атрибут типа «Текст», а вложений — в атрибут типа «Документ».
Аналогичным образом вы можете настроить получение любых данных из эл. писем согласно требуемой бизнес-логике.
Настройка шаблона записи
-
Создайте шаблон записи «Реестр документов» со следующими атрибутами:
Атрибут Тип Свойства Отправитель Текст Вложения Документ Хранить несколько значений: флажок установлен -
Поместите созданные атрибуты на форму.
Настройка сценария
Сценарий для получения почты
Сценарий для получения почты может запускаться только по событию «Получение сообщения».
При получении сообщения с помощью сценария можно сохранить данные из письма в атрибутах шаблона записи, а также отправить отклик почтовому серверу, например, указав, что письмо прочитано.
- Создайте сценарий «Получение эл. почты» с контекстом выполнения «От инициатора».
-
Откройте автоматически созданное событие «Нажатие кнопки» и настройте его следующим образом:
- Тип: получение сообщения;
- Контекстный шаблон: Реестр документов;
- Подключение: выберите подключение для получения эл. почты с помощью сценария;
- Путь передачи данных: выберите путь передачи данных эл. почты с помощью сценария;
- Имя переменной: message — в эту переменную будет сохраняться объект с данными полученного письма.
-
Добавьте действие «Создать запись», указав целевой шаблон «Реестр документов».
- Внутри действия «Создать запись» добавьте действие «Изменить значения атрибутов».
-
В действии «Изменить значения атрибутов» добавьте в таблицу атрибут «Отправитель»:
- Операция со значениями: заменить
- Значение: формула
FORMAT ("{0} <1>", LIST($$message->From->Name, $$message->From->Address))Эта формула берёт данные отправителя из переменной
messageи возвращает имя и адрес отправителя письма в следующем формате:Имя <address@example.com> -
Внутри действия «Создать запись» добавьте действие «Повторять по количеству объектов» со следующими свойствами:
- Переменная: attachment — в эту переменную на каждой итерации цикла будет помещаться объект с прикреплённым к письму файлом.
- Атрибут или выражение для поиска объектов: формула
$$message->AttachmentsЭта формула берет из переменной
messageи возвращает массив объектов с прикреплёнными к письму файлами. -
Внутри действия «Повторять по количеству объектов» создайте действие «Изменить значения атрибутов».
- В действии «Изменить значения атрибутов» на вкладке «Дополнительно» установите флажок «Сбрасывать кэш значений».
-
На вкладке «Основные» добавьте в таблицу атрибут «Вложения»:
- Операция со значениями: добавить
- Значение: N3
# Импортируем функции для работы с документами и данными текущего сеанса.@prefix session: <http://comindware.com/ontology/session#>.@prefix variable: <http://comindware.com/ontology/session/variable#>.@prefix document: <http://comindware.com/ontology/document#>.@prefix cmwstring: <http://comindware.com/logics/string#>.{# Помещаем переменную attachment# из действия «Повторять по количеству объектов»# в локальную переменную ?attachment.session:context variable:attachment ?attachment.# Помещаем содержимое файла в переменную ?contentValue.?attachment variable:Content ?contentValue.# Помещаем расширение файла в переменную ?extension.?attachment variable:Extension ?extension.# Помещаем имя файла в переменную ?filename.?attachment variable:Name ?filename.# Соединяем имя файла и расширение в переменную ?filenameValue.(?filename ?extension) cmwstring:concatenation ?filenameValue.# Собираем новый файл из имени и содержимого,# сохраняем его в папку Streams# и возвращаем ID нового документа с прикреплённым файлом.(?contentValue ?filenameValue) document:attach ?value.}

Тестирование
- В почтовом клиенте создайте письмо с вложениями и отправьте его на адрес эл. почты, указанный в подключении.
- Перейдите к списку экземпляров шаблона «Реестр документов».
-
В списке экземпляров откройте новую запись с временем создания несколько позже отправки письма на шаге 1.
Совет
Если запись для отправленного письма не отображается, подождите некоторое время, пока Comindware Platform получит и обработает письмо, и обновите страницу.
Время обработки входящих писем зависит от интервала опроса, заданного в свойствах подключения к почтовому серверу, а также от загруженности почтового сервера и Comindware Platform.
-
В поле «Отправитель» должны отображаться имя и адрес отправителя письма.
- В поле «Вложения» должны отображаться файлы, которые были прикреплены к письму.
Эта статья была полезна 1 чел.