Как отправить email сообщение из бизнес-процесса с вложенными файлами?
Вопрос:
Каким образом можно отправить email сообщение из бизнес-процесса с вложенными файлами?
Кейс такой: Есть раздел "Контрагенты", в нем есть деталь Файлы и ссылки, в данную деталь добавляю 2 файла.
Как только статус контрагента перейдет, допустим, в "Отправка", запускается процесс отправки письма с вложенными файлами из детали Файлы и ссылки. Кроме того, email будет отправляться вручную, после запуска бп, контакту текущего пользователя будет появляться сформированное письмо для выбора адресата (контакты контрагента).
Ответ:
Для Вашей задачи можно воспользоваться следующим подходом:
- Создать активность с типом email
- Добавить для нее вложение, например, открыв страницу редактирования пользователю и прикрепив нужные файлы
- Установить с помощью элемента Формула значение для параметра paractivityid
- В рамках задания сценария выполнить отправку:
var activityId = Get("paractivityid");
var emailClientFactory = ClassFactory.Get(new ConstructorArgument("userConnection", UserConnection));
var activityEmailSender = new ActivityEmailSender(emailClientFactory, UserConnection);
activityEmailSender.Send(activityId);
return true;
При этом необходимо в usings добавить следующие библиотеки:
- Terrasoft.Mail.Sender
- Terrasoft.Mail
- Terrasoft.Core.Factories
- Terrasoft.Configuration
Пример использования данного кода можно найти в базовом процессе "Отправка email сообщения контакту обращения".
Добрый день Ксения.
Вариантов реализации данной задачу очень много. Но если нам требуется отправить Емайл с фложениями, я бы пошел по пути создания своего Элемента процесса, вывода его в "Элементы процесса" и далее его бы использовал для выполнения своих Кейсов. Если внимательно на это посмотреть, то элемент "Отправить email" практические все это умеет и даже есть вставить C# код по событию "После сохранения активности" для пост обработки.
я бы взял за основу данных Элемент процесса и переделал под себя.