Действие SendEmail
Действие SendEmail рассылает электронное письмо по списку адресов, указанных в списке recipients, игнорируя адреса из списка ignoreList. Заголовок письма поддерживает синтаксис, тело письма поддерживает синтаксис, HTML (только при "isBodyHtml": true) и шаблоны форматирования.
Параметры действия
Общие для всех действий параметры (в новой вкладке)
Имя параметра | Обязательный | Описание параметра | Значения параметра |
---|---|---|---|
body | нет | Тело письма. |
Текст с поддержкой HTML и выражений. Например: "Файл \"{new.title}\" был изменен" Или "body": "Вы назначены исполнителем <a href=\"piloturi://{new.id}\">задания</a> от пользователя {new.attr.initiator.person.displayName}.<br>{new.attr.title}<br>{new.attr.description}" |
сheckCertificateRevocation | нет | Проверяет наличие отозванных сертификатов. | True или False |
enableSSL | нет | Указание значения параметра False позволяет отключать использование протоколов SSL\TSL внутри системы Pilot, если почтовый сервер допускает отсутствие шифрования. Однако, в целях безопасности мы не рекомендуем такое решение. | True или False |
fromDisplayName | нет | отображаемое имя отправителя | Например: "Pilot User" |
fromEmail | да | email-адрес, с которого будет отправлено письмо | Например: "pilotuser@somemail.com" |
isBodyHtml | нет | включение поддержки html в теле письма | True или False |
ignoreList | нет | Определяет список адресов, которым письмо высылаться не будет. | Заполняется по тем же правилам, что и параметр recipients. |
host | да | адрес почтового сервера | Например: "smtp.somemail.com" |
password | да | пароль пользователя на почтовом сервисе | Например: "123456" |
port | да | номер порта почтового сервера | Например: "465" |
recipients | да | Определяет список получателей письма. |
Cписок адресов получателей письма или выражение вида: "new.subscribers.email" письмо будет направлено пользователям, которые подписались на изменение файла или документа или "new.attr.executor.person.email" в этом случае письмо будет направлено пользователям, которые были назначены исполнителем задания. Для работы с выражениями у пользователя-исполнителя email-адрес должен быть задан в myAdmin Подробнее о выражениях — здесь. |
subject |
нет | заголовок письма |
Текстовая строка с возможностью использовать выражения. Например: "{new.title} изменен" или "Новое задание от {new.attr.initiator.person.displayName}" |
userName | да | имя пользователя почтового сервера | Например: "pilotuser@somemail.com" |
Пример №1. Рассылка писем подписавшимся на изменения файлов или документов
При изменении файлов с расширением .log, .xps скрипт будет рассылать письма пользователям, которые подписались на изменения файлов или документов.
[
{
"when": "VersionChanged",
"params": {
"triggerType": "Server",
"sourceTypes": [
"document",
"File"
],
"fileBodyChanged": true,
"fileExtensions": [
".log",
".xps"
]
},
"then": [
{
"activity": "SendEmail",
"params": {
"sourceTypes": [],
"target": "Self",
"targetTypes": [],
"recipients": [
"new.subscribers.email"
],
"ignoreList": [],
"host": "smtp.server",
"port": "465",
"userName": "pilotuser@server",
"password": "1234567890",
"fromEmail": "pilotuser@server",
"fromDisplayName": "Pilot User",
"isBodyHtml": true,
"subject": "{new.title} изменен",
"body": "Файл \"{new.title}\" был изменен"
}
}
]
}
]
Пример №2. Рассылка писем исполнителям заданий
Действие рассылает письма пользователям, которые назначены исполнителями задания.
{
"activity": "SendEmail",
"params": {
"sourceTypes": [],
"target": "Self",
"targetTypes": [],
"recipients": [
"new.attr.executor.person.email"
],
"ignoreList": [],
"host": "smtp.server",
"port": "465",
"userName": "pilotuser@server",
"password": "1234567890",
"fromEmail": "pilotuser@server",
"fromDisplayName": "Pilot User",
"isBodyHtml": true,
"subject": "Новое задание от {new.attr.initiator.person.displayName}",
"body": "Вы назначены исполнителем <a href=\"piloturi://{new.id}\">задания</a> от пользователя {new.attr.initiator.person.displayName}.<br>{new.attr.title}<br>{new.attr.description}"
}
}
Пример №3. При изменении исполнителя письмо отправляется только новому исполнителю.
Если изменился исполнитель, направить письмо новому исполнителю ( "recipients": ["new.attr.executor.person.email"] ) и не отправлять старому ("ignoreList": ["old.attr.executor.person.email"]).
Строка в триггере ("sourceTypes": ["task_simple"]) ограничивает работу скрипта типом задания Задача.
[
{
"when": "AttributeChanged",
"params": {
"triggerType": "Server",
"sourceTypes": [],
"attributeNames": [
"executor"
],
"itemChangeKind": "Create,Modify"
},
"then": [
{
"activity": "SendEmail",
"params": {
"sourceTypes": [],
"target": "Self",
"targetTypes": [],
"recipients": [
"new.attr.executor.person.email"
],
ignoreList": [
"old.attr.executor.person.email"
],
"host": "smtp.server",
"port": "465",
"userName": "user@server",
"password": "pass",
"fromEmail": "user@server",
"fromDisplayName": "Pilot User",
"isBodyHtml": true,
"subject": "{new.title} изменен",
"body": "Задание\"{new.title}\" было изменено"
}
}
]
}
]
Пример №4. Электронное письмо с датой завершения задания, названием вложенного документа, и ссылкой на документ
При добавлении или изменении документа, вложенного в задачу, исполнителю будет направлено электронное письмо, в теле которого будут вписана дата окончания задания, а также отформатированные по шаблонам наименования вложенных документов и ссылки на них. Наименования документов (по шаблону template1) будут записаны в строку, разделённые запятой и пробелом, а ссылки на документы (по шаблону template2) — каждая на своей строке.
[
{
"when": "RelationsChanged",
"params": {
"triggerType": "Server",
"sourceTypes": [
"task_simple"
],
"itemChangeKind": "Modify,Create"
},
"then": [
{
"activity": "SendEmail",
"params": {
"sourceTypes": [],
"target": "Self",
"targetTypes": [],
"recipients": [
"new.attr.executor.person.email"
],
"ignoreList": [],
"host": "smtp.server",
"port": "465",
"userName": "user@server",
"password": "pass",
"fromEmail": "user@server",
"fromDisplayName": "Pilot User",
"isBodyHtml": true,
"subject": "документ добавлен",
"body": "документ(ы) {new.taskattachments:$template1} вложены в задание {new.attr.title} с датой окончания {new.attr.deadlineDate:dd-MM-yy}.</br>Ссылки:</br> {new.taskattachments:$template2}",
},
"templates":
{
"template1":
{
"separator": ", ",
"itemFormat": "'{object.title}'"
},
"template2":
{
"separator": "</br>",
"itemFormat": "<a href = http://localhost:5545/url?id={object.id}>{object.attr.name}</a>"
}
}
}
]
}
]