Этот компонент позволяет выслать письмо на заданные адреса, указав при этом адрес почтового сервера, имя, от которого отправляется письмо, тему и тело письма, приложив, при необходимости, один или несколько файлов в аттачмент.
Использование этого компонента в случаях отладки ETL процессов позволяет ничего дальше на этот счет не придумывать. Разработчик вставляет отправку письма себе, сам формирует тело письма, заголовок и, возможно, прикладывает файл.
Но, в случае, если необходимо отправлять почту для целей мониторинга процессов загрузки, например, сообщать на электронную почту о падениях некоторых сценариев или о других нестандартных ситуациях, намного удобнее написать отдельный пакет, который будет заниматься отправкой письма.
В случае отдельного пакета можно предусмотреть возможность отправки одних типов писем администраторам, других - бизнес пользователям или менеджерам по качеству данных.
Я предлагаю создать примерно следующий пакет:
Схема выполнения пакета:
- Декларация переменной #MAIL_PROJECT_CODE для передачи в пакет идентификатора списка рассылки.
- Декларация переменной #MAIL_SUBJECT для передачи в пакет темы письма.
- Декларация переменной #MAIL_BODY для передачи в пакет тела письма.
- Проверка, если идентификатор списка рассылки не установлен - установка значений по умолчанию.
- Обновление переменных #MAIL_LIST_TO и MAIL_LIST_CC из таблицы.
Для работы пакета необходимо создать в БД таблицу параметров, к которой будет иметь доступ пользователь, от имени которого работает ODI, и в которой будут храниться следующие данные:
MAIL_PROJECT_CODE - наименование списка рассылки
MAILING_LIST_TO - перечень адресов через запятую
MAILING_LIST_CC - перечень адресов для копии сообщения через запятую.
Также необходимо создать 2 переменных, которые будут использоваться как константы, для указания адреса почтового сервера и имени, от которого производится рассылка. С другой стороны, для еще большей гибкости, можно эти значения добавить в таблицу параметров рассылок.
Также, при необходимости, можно добавить переменную для передачи в сценарий отправки почтового сообщения строку с файлами, которые необходимо приложить к письму. Необходимо только учитывать особенности операционной системы, в которой выполняется агент, в части именования файлов и папок.
Сгенерировав из пакета сценарий мы можем использовать его в других пакетах для отправки почты с необходимыми сообщениями.
См. также следующее сообщение об улучшенном механизме отправки писем из ODI.
Зачет!!!
ОтветитьУдалитьТолько вот некоторые заказчики (особенно банки) не разрешают использовать SMTP для отправки почты, типа несекурно и прочее. А дают API своих внутренних "хитрых" почтовых систем, приходится танцевать танец с бубном.
Ну, на самом деле инкапсуляция отправки почты в отдельный пакет (а затем использование в виде сценария) как раз и позволяет протанцевать этот танец только один раз.
ОтветитьУдалить