№16. Работа с электронной почтой

Тема: Отправка почтовых уведомлений

Время на выполнение: 60 минут

Задание

Доработать приложение из лабораторной работы №6. К потоку логирования сообщений добавить ноду отправки уведомлений об ошибках на почту.

Выполнение

Откройте поток Logger в приложении Sys.Log
image002

Добавьте к потоку ноду Route
image003

Добавьте условие к ноде Route:

count($Body/Error/Email)>0

Свойства ноды:
image004

Добавьте ноду Compute:
image005

Откройте ESQL модуль и введите следующий код:

CALL CopyMessageHeaders();
SET OutputRoot.MQMD = null;
SET OutputRoot.EmailOutputHeader.To = InputRoot.XMLNSC.Error.Email.SendTo;
SET OutputRoot.EmailOutputHeader.Subject = InputRoot.XMLNSC.Error.Email.Subject;  
SET OutputRoot.XMLNSC = InputRoot.XMLNSC;
SET OutputRoot.XMLNSC.Error.Email = null;

image006

Добавьте в рабочую область ноду Email Output
image007

Свойства ноды Email Output:
image008
Скомилируйте BAR файл и обновите приложение на сервере:
image009

Тестирование

Откройте приложение LAB.6, а в нем поток TEST
image010

Откройте ESQL модуль ноды ProcessError и добавьте следующие строки кода:

SET OutputRoot.XMLNSC.Error.Email.SendTo = 'vs@broker.site';
SET OutputRoot.XMLNSC.Error.Email.Subject = 'Test Error';

image011

Запустите тест потока. Тестовое сообщение для тестирования

<Message>Тестовое сообщение</Message>

image012

Откройте почтовый клиент Mozilla Thunderbird
image013

Нажмите кнопку Get Mail
image014

image015

Письмо с ошибкой
image016