Действие 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>"

}

}

}

]

}

]

 

К списку действий