Отправка эл. почты из сценариев через SMTP и Exchange. Настройка подключения, пути передачи данных и сценария
Введение
В Comindware Business Application Platform можно настроить отправку эл. почты из сценариев. При этом письма могут содержать данные из шаблонов, в том числе вложенные файлы.
Для отправки эл. почты с помощью сценариев используются подключения типов «Отправка эл. почты через SMTP» и «Отправка эл. почты через Exchange». В процессах используются подключения типа «Отправка эл. почты из процесса».
Здесь представлены общие инструкции по настройке подключения к почтовому серверу по протоколу SMTP или Exchange, пути передачи данных и сценария для отправки эл. писем.
Порядок настройки отправки эл. писем из сценария
- Настройте подключение к почтовому серверу типа «Отправка почты через SMTP» или «Отправка эл. почты через Exchange».
- Настройте путь передачи данных типа «Отправка эл. почты через SMTP» или «Отправка эл. почты через Exchange», использующий созданное подключение.
- Настройте шаблон с данными для эл. писем.
- Настройте сценарий, который будет отправлять письма с данными из шаблона записи посредством настроенных подключения и пути передачи данных.
Настройка подключения к почтовому серверу для отправки почты из сценария
- Откройте страницу «Администрирование» — «Подключения».
- Откройте двойным нажатием в списке или создайте создайте подключение к электронной почте типа «Отправка почты через SMTP» или «Отправка эл. почты через Exchange».
-
Настройте свойства подключения:
- Системное имя — введите уникальное имя подключения. Рекомендуется использовать буквы латинского алфавита, цифры и символ «_».
- Отключить — установите этот флажок, если требуется временно деактивировать данное подключение.
- Описание — введите наглядное описание подключения, например «Подключение для отправки писем из сценариев».
- Запись в файловые журналы — выберите, какие события следует записывать в журналы:
- Полные сведения об обработке сообщения;
- Только ошибки;
- Отключить — не регистрировать в журнале события отправки писем.
- Для SMTP-сервера
- Адрес почтового сервера — введите адрес SMTP-сервера без указания протокола (
SMTP
,HTTPS
,HTTP
). - Порт — введите номер порта SMTP-сервера.
- Шифрование — выберите протокол шифрования, который поддерживает SMTP-сервер:
- Отсутствует — не использовать шифрование;
- SSL;
- TLS.
- Проверять соединение без отправки сообщения — установите этот флажок, чтобы проверить соединение без указания получателей тестового письма.
- Адреса получателей для проверки работоспособности подключения — укажите один или несколько (через запятую) адресов эл. почты для проверки соединения.
- Адрес почтового сервера — введите адрес SMTP-сервера без указания протокола (
- Для сервера Exchange
- URL веб-сервера Exchange — введите адрес почтового сервера с указанием протокола (
HTTPS
,HTTP
). - Версия Exchange — выберите версию сервера Exchange.
- URL веб-сервера Exchange — введите адрес почтового сервера с указанием протокола (
- Тип аутентификации — выберите способ проверки подлинности, используемый сервером:
- Отсутствует;
- Базовая;
- Аутентификация Windows.
- Имя пользователя — укажите учетную запись для подключения к почтовому серверу.
- Пароль — введите пароль для подключения к почтовому серверу.
- Домен — укажите домен пользователя почтового сервера.
- Имя отправителя — укажите имя, которое будет указано в отправляемых письмах.
-
Адрес эл. почты отправителя — укажите адрес эл. почты, который будет указан в отправляемых письмах. Почтовый сервер может проверять соответствие адреса отправителя и имени пользователя, отправляющего почту.
Примечание
Если адрес или имя отправителя не совпадает с адресом и именем, указанным в учётной записи, используемой для подключения к почтовому серверу, сервер должен поддерживать замену данных отправителя. В противном случае, почта не будет отправляться.
-
Нажмите кнопку «Проверить соединение».
- Если используется SMTP-сервер, удостоверьтесь, что получателям пришло тестовое письмо от настроенного отправителя.
- Чтобы просмотреть журнал событий отправки писем, нажмите кнопку «Скачать журнал».
- Сохраните подключение.
Настройка пути передачи данных для отправки эл. почты из сценария
Путь передачи данных для отправки эл. почты служит для преобразования и передачи данных из Comindware Business Application Platform в эл. письмо.
- Откройте страницу «Администрирование» — «Архитектура» или страницу «Администрирование» приложения.
- Выберите пункт «Пути передачи данных» .
- Откройте двойным нажатием в списке или создайте создайте подключение к электронной почте типа «Отправка почты через SMTP» или «Отправка эл. почты через Exchange».
-
Настройте свойства пути передачи данных на следующих вкладках:
-
Сохраните путь передачи данных.
Основные свойства
На вкладке «Основные свойства» настройте параметры использования пути передачи данных.
- Подключение — выберите подключение для отправки эл. почты из сценариев через SMTP или Exchange.
- Системное имя — введите уникальное имя пути передачи данных. Рекомендуются буквы латинского алфавита, цифры и символ «_».
- Отключить — установите этот флажок, если требуется временно деактивировать путь передачи данных.
- Описание — введите наглядное описание пути передачи данных, например «Путь для отправки писем из сценариев».
- Номер шины данных — выберите номер от 0 до 3, если требуется распределить потоки данных нескольких путей для повышения производительности.
Атрибуты сообщения
На вкладке «Атрибуты сообщения» настройте атрибуты, значения которых будут подставляться в содержимое в эл. письма с помощью вкладки «Интеграция».
Значения атрибутам сообщения необходимо присвоить в сценарии с помощью действия «Изменить значения переменных». Затем в сценарии следует выполнить действие «Отправить сообщение».
- В таблице «Запрос» настройте готовые атрибуты сообщения:
- To — получатели письма (массив объектов).
- Name — имя получателя (строка).
- Address — адрес эл. почты (строка).
- Attachments — прикреплённые файлы (массив объектов).
- Name — название файла (строка).
- Extension — расширение файла (строка).
- Content — содержимое файла (строка).
- Cc — копии (массив объектов).
- Name — имя получателя (строка).
- Address — адрес эл. почты (строка).
- Bcc — скрытые копии (массив объектов).
- Name — имя получателя (строка).
- Address — адрес эл. почты (строка).
- CustomHeaders — дополнительные заголовки (массив объектов).
- Name — имя заголовка (строка).
- Value — значение заголовка (строка).
- ListValues — массив неименованных значений.
- При необходимости в таблицах «Ответ» и «Ответ» настройте атрибуты, в которые будет помещаться отклик SMTP-сервера после отправки письма.
Создание собственного атрибута сообщения
В качестве примера (для выполнения дальнейших шагов данной инструкции) создайте следующие атрибуты сообщения:
- FullName типа «Строка» для Ф. И. О. получателя;
- Filename типа «Строка» для имени прикрепляемого файла;
- RecepientEmail типа «Строка» для эл. почты получателя;
- Subject типа «Строка» для темы письма;
- Body типа «Строка» для темы письма;
- ReplyAddress типа «Строка» для выбора электронной почты, на которую должны приходить ответные письма.
Чтобы создать атрибут сообщения, нажмите кнопку «Добавить» над таблицей с атрибутами и заполните свойства атрибута:
- Системное имя — введите уникальное имя атрибута, по которому вы будете обращаться к нему в сценарии.
- Тип — выберите тип атрибута:
- Строка
- Число
- Длительность
- Дата и время
- Временной период
- Логический
- Объект
- Ключ-значение
- Описание — введите наглядное название атрибута.
- Обязательный, Не пустой, Массив — установите флажки согласно назначению атрибута.
Интеграция
На вкладке «Интеграция» настройте дополнительные свойства эл. письма, заполнив их статическими значениями или заполнителями атрибутов сообщения.
Внимание!
Прежде чем подставлять в письмо заполнители атрибутов сообщения, их необходимо добавить в таблицу «Запрос» на вкладке «Атрибуты сообщения». В противном случае путь передачи данных будет автоматически отключён.
Подстановка значений атрибутов сообщения в эл. письмо
- Чтобы поместить значение атрибута сообщения в эл. письмо, введите его системное имя в фигурных скобках
{ }
— заполнитель — в соответствующее поле письма на вкладке «Интеграция». - В текстовые поля (шаблон темы, шаблон текста сообщения, получатели, копия, скрытая копия) можно вводить произвольный текст и подставлять заполнители атрибутов сообщения.
-
Например, в поле «Шаблон темы» можно ввести строку:
Уведомление «{Title}» от {Date}
Здесь:
{Title}
и{Date}
— заполнители атрибутов сообщения, содержащее название и дату уведомления.
Примечание
Атрибуты сообщения типа «Объект» нельзя подставить в письмо посредством заполнителей.
-
Шаблон темы — введите заголовок письма, например:
Документ {Filename} к рассмотрению.
-
Шаблон текста сообщения — введите текст письма, например:
Здравствуйте, {FullName}!
Рассмотрите документ {Filename}.
-
Дополнительные заголовки — введите служебные заголовки письма с помощью строковых литералов или заполнителей:
-
Имя заголовка — строка (заполнители не поддерживаются), например:
# Заголовок адреса для ответа
Reply-To
-
Значение заголовка — строка или заполнитель, например:
# Адрес для ответа на письмо
{ReplyAddress}
-
-
Получатели, Копия, Скрытая копия — укажите адресатов письма с помощью строковых литералов или заполнителей, например:
-
Ф. И. О.:
{FullName}
-
Адрес:
{RecepientEmail}
-
-
Прикреплённые файлы
- Название документа — введите строковый литерал с именем файла, включая расширение (заполнители не поддерживаются). Например:
example.txt
- Содержимое документа — введите строку с содержимым файла в формате Base64 (заполнители не поддерживаются). Например:
0K3RgtC+INC/0YDQuNC80LXRgCDRgdGC0YDQvtC60Lgg0LIg0LrQvtC00LjRgNC+0LLQutC1IEJhc2U2NC4=
Формат Base64
Base64 — это формат кодирования двоичных данных при помощи 64 символов ASCII. Он широко используется для представления файлов в содержимом письма.
Например, строка:
Это пример строки в кодировке Base64.
в формате Base64 будет выглядеть следующим образом:
0K3RgtC+INC/0YDQuNC80LXRgCDRgdGC0YDQvtC60Lgg0LIg0LrQvtC00LjRgNC+0LLQutC1IEJhc2U2NC4=
Настройка шаблона записи и сценария для отправки эл. почты
В качестве примера настроим шаблон и сценарий для отправки эл. писем получателю из атрибута типа «Аккаунт» с вложенными файлами из атрибута типа «Документ».
Аналогичным образом вы можете настроить формирование эл. писем из любых данных согласно требуемой бизнес-логике.
Настройка шаблона записи
- Создайте шаблон записи «Эл. письма».
-
Создайте следующие атрибуты:
- Получатель типа «Аккаунт»;
- Вложение типа «Документ».
-
Создайте кнопку «Отправить письмо» со следующими свойствами:
- Контекст операции: запись
- Операция: вызвать событие «Нажата кнопка»
- Результат выполнения: обновить данные
-
Поместите атрибуты «Получатель» и «Вложение» на форму.
- Поместите кнопку «Отправить письмо» на форму.
Настройка сценария
Сценарий для отправки почты
Сценарий для отправки почты можно запускать по любому событию:
- нажатие кнопки;
- создание записи;
- изменение записи;
- запуск процесса;
- получение сообщения;
- вход токена в элемент диаграммы;
- выход токена из элемента диаграммы.
- Создайте сценарий «Отправка писем».
- В свойствах события «Нажатие кнопки» выберите контекстный шаблон «Эл. письма» и кнопку «Отправить письмо».
-
Создайте действие «Изменить значения переменных» со следующими свойствами:
- Операция со значениями переменных: заменить
- Набор переменных: mail
-
В свойствах действия «Изменить значения переменных» настройте перечисленные ниже переменные.
Сопоставление переменных-объектов с атрибутами сообщения
Имена переменных, значения которых передаются в атрибуты сообщения с помощью действия сценария «Отправить сообщение», должны совпадать с системными именами атрибутов сообщения.
Для передачи значения переменной в атрибут сообщения типа «Объект», необходимо создать переменную с такой же структурой, как у атрибута сообщения, создав дочерние переменные:
- Создайте переменную, оставив её значение пустым.
- Установите флажок у имени родительской переменной в списке и нажмите кнопку «Создать».
- Дважды нажмите значок рядом с родительской переменной.
- В таблице отобразится дочерняя переменная.
-
To — с дочерними переменными:
- Address — значение: формула
$Poluchatel->mbox
- Name — значение: формула
$Poluchatel->fullName
-
FullName — значение: формула
$Poluchatel->fullName
-
Filename — значение: N3
# Импортируем функции для работы с записями и документами
@prefix object: <http://comindware.com/ontology/object#>.
@prefix document: <http://comindware.com/ontology/document#>.
{
# Находим атрибут Vlozhenie (Вложение) в шаблоне Elpisma (Эл. письма).
("Elpisma" "Vlozhenie") object:findProperty ?VlozhenieAttribute.
# Присваиваем переменной ?Vlozhenie объект из атрибута «Вложение».
?item ?VlozhenieAttribute ?Vlozhenie.
# В переменную ?currentDocument помещаем
# последнюю добавленную версию документа.
?Vlozhenie document:currentRevision ?currentDocument.
# Возвращаем имя текущего файла.
?currentDocument document:name ?value.
}
-
Attachments — с дочерними переменными:
- Name — значение: N3
# Импортируем функции для работы с записями и документами
@prefix object: <http://comindware.com/ontology/object#>.
@prefix document: <http://comindware.com/ontology/document#>.
{
# Находим атрибут Vlozhenie (Вложение) в шаблоне Elpisma (Эл. письма).
("Elpisma" "Vlozhenie") object:findProperty ?VlozhenieAttribute.
# Присваиваем переменной ?Vlozhenie объект из атрибута «Вложение».
?item ?VlozhenieAttribute ?Vlozhenie.
# В переменную ?currentDocument помещаем
# последнюю добавленную версию документа.
?Vlozhenie document:currentRevision ?currentDocument.
# Возвращаем имя текущего файла.
?currentDocument document:name ?value.
}
- Extension — значение: N3
# Импортируем функции для работы с записями и документами
@prefix object: <http://comindware.com/ontology/object#>.
@prefix document: <http://comindware.com/ontology/document#>.
{
# Находим атрибут Vlozhenie (Вложение) в шаблоне Elpisma (Эл. письма).
("Elpisma" "Vlozhenie") object:findProperty ?VlozhenieAttribute.
# Присваиваем переменной ?Vlozhenie объект из атрибута «Вложение».
?item ?VlozhenieAttribute ?Vlozhenie.
# В переменную ?currentDocument помещаем
# последнюю добавленную версию документа.
?Vlozhenie document:currentRevision ?currentDocument.
# Возвращаем расширение текущего файла.
?currentDocument document:revisionExtension ?value.
}
- Content — значение: N3
# Импортируем функции для работы с записями и документами
@prefix object: <http://comindware.com/ontology/object#>.
@prefix document: <http://comindware.com/ontology/document#>.
{
# Находим атрибут Vlozhenie (Вложение) в шаблоне Elpisma (Эл. письма).
("Elpisma" "Vlozhenie") object:findProperty ?VlozhenieAttribute.
# Присваиваем переменной ?Vlozhenie объект из атрибута «Вложение».
?item ?VlozhenieAttribute ?Vlozhenie.
# В переменную ?currentDocument помещаем
# последнюю добавленную версию документа.
?Vlozhenie document:currentRevision ?currentDocument.
# Возвращаем содержимое текущего документа.
?currentDocument document:content ?value.
}
-
Создайте действие «Отправить сообщение» со следующими свойствами:
- Подключение: выберите подключение для отправки эл. почты из сценариев через SMTP или Exchange.
- Путь передачи данных: выберите путь передачи данных эл. почты из сценариев через SMTP или Exchange.
- Переменная с сообщением: mail
Тестирование
- Создайте запись в шаблоне «Эл. письма».
- Выберите аккаунт, на эл. почту которого требуется отправить письмо.
- Загрузите файл в поле «Вложение».
- Сохраните запись.
- Нажмите кнопку «Отправить письмо».
- На эл. почту, выбранного аккаунта, придёт письмо с прикреплённым вложением.
Связанные статьи
Отправка эл. почты из процесса. Настройка подключения
Эта статья была полезна 1 чел.