Шаблоны уведомлений

Шаблоны уведомлений представляют собой файлы с расширением .msg, хранящие структуру сообщения электронной почты, соответствующую RFC 822, и могут содержать различные заголовки. Файлы шаблонов используются компонентом Notifier для генерации служебных сообщений – уведомлений MailD, отчетов со статистикой и уведомлений DSN.

В теле шаблона помимо обычного текста могут встречаться макросы (ограниченные знаком $), которые заменяются реальными данными в момент генерации уведомления на основе данного шаблона.

Обработка уведомлений

При обработке письма Dr.Web MailD любой из используемых подключаемых модулей может запросить отправление уведомления о каком-либо событии (обнаружении вируса, ошибке обработки, блокировке письма по определенному критерию и т.п.). Данные уведомления формируются компонентом Notifier (модуль drweb-notifier), который генерирует письмо и затем отправляет его с использованием компонента Sender. Кроме того, сам компонент Sender может запросить компонент Notifier сформировать (для отправки отправителю сообщения) специальное служебное письмо DSN о невозможности доставки письма получателю.

Все уведомления и отчеты, включая DSN, генерируются на основе файлов шаблонов, которые компонент Notifier ищет в каталоге, указанном в значении параметра TemplatesBaseDir.

Существует три типа уведомлений:

Уведомления MailD, отправляемые для конкретного письма

Для этих уведомлений Notifier проверяет необходимость их отправки с использованием Правил обработки писем (подробнее о них – в описании Правил обработки писем) каждому участнику из перечисленных:

Отправителю письма.

Получателям письма (при этом, если настройки уведомлений отличаются для разных получателей, то уведомлений будет отправлено больше, чтобы каждый получатель получил уведомление именно в таком виде, в котором задано для него);

Администратору Dr.Web MailD.

Имя файла шаблона, используемого для генерации уведомления, образуется прибавлением префиксов sender_, rcpts_ и admin_ соответственно к названию события, о котором генерируется уведомления, и расширения .msg, т.е. соответствует следующему регулярному выражению:

(admin|rcpts|sender)_(.*?)\.msg.

Например, sender_virus.msg – шаблон уведомления отправителю письма о том, что в его письме был обнаружен вирус. Если такой файл шаблона не будет найден, то возникает ошибка. В таблице ниже представлен перечень событий, для которых могут быть сгенерированы уведомления MailD, с указанием суффикса, который следует использовать в именах шаблонов этих уведомлений.

Суффикс

Назначение уведомления

archive

Уведомление о том, что в сообщении имеется вложение-архив, не проверенное в связи с нарушением ограничений на проверку архивов, заданных для сканирующего демона Dr.Web Daemon

cured

Уведомление о том, что в сообщении имеется вложение, содержавшее вирус, который был успешно излечен

error

Уведомление о том, что при проверке сообщения возникла какая-либо ошибка

license

Уведомление о том, что сообщение не было проверено в связи с нарушением установленных лицензионных ограничений

malware

Уведомление о том, что в сообщении имеется вложение, содержащее вредоносную программу

rule

Уведомление о том, что сообщение было заблокировано из-за срабатывания какого-либо правила (как Правила обработки писем MailD core, так и правила проверки какого-либо из подключаемых модулей Dr.Web Modifier или Dr.Web HeadersFilter)

skip

Уведомление о том, что в сообщении имеется некоторое вложение, которое было пропущено при сканировании (например, запароленный архив или зашифрованный файл)

virus

Уведомление о том, что в сообщении имеется вложение, содержащее вирус

warning

Обратите внимание, что:

Для некоторых типов событий могут отсутствовать шаблоны уведомлений для некоторых адресатов. Например, по умолчанию в поставку Dr.Web для почтовых серверов UNIX включается отчет о событии Skip только для отправителя (sender_skip.msg). В случае необходимости другие отчеты об этом событии можно получить, скопировав этот шаблон и соответствующим образом его переименовав (rcpts_skip.msg и admin_skip.msg для получателей и администратора соответственно). Однако дополнительно рекомендуется выполнить модификацию этих шаблонов, так, чтобы они содержали информацию, требуемую соответствующему адресату уведомления. Перечень шаблонов, доступных по умолчанию, перечислен ниже.

Если по результатам проверки одного письма возникло сразу несколько событий, то компонент Notifier отправит по одному уведомлению на каждое событие каждому типу адресата, для которого это уведомление разрешено.

Имеется возможность запретить отправку уведомлений разных типов разным типам адресатов в зависимости от результатов проверки условий, используя настройку notify в Правилах обработки писем MailD core.

Периодические уведомления MailD об общей работе комплекса (отчеты администратору)

Уведомления этого типа Notifier отправляет администратору. Эти уведомления содержат общую статистику по работе комплекса. Шаблон для отчета содержится в файле report.msg.

Служебные уведомления о невозможности доставки письма (DSN)

Эти уведомления являются почтовыми сообщениями специального формата о невозможности доставки письма получателю. Они всегда отправляются только отправителю письма и имеют пустой заголовок FROM:. Их шаблон содержится в файле dsn.msg.

Во всех случаях компонент комплекса Dr.Web для почтовых серверов UNIX, затребовавший отправку уведомления, отправляет модулю drweb-notifier тип уведомления, которое требуется отправить. Все шаблоны, кроме DSN-шаблонов, по умолчанию поддерживают письма двух видов: в HTML и в виде текста (plain text). Выбор типа письма уведомления происходит на основе значения параметра html, задаваемого в Правилах обработки писем.

Обратите внимание, что уведомления MailD и периодические отчеты будут отправляться получателям с адреса, указанного в параметре FilterMail, при этом они, также, как и DSN, будут перед отправкой проходить проверку на срабатывание Правил.

warning

Обратите внимание, что уведомления MailD получателям и отправителям писем, а также администратору, которые отсылаются компонентом Notifier, отправляются всегда как письма с адреса, заданного в параметре FilterMail. При этом служебные уведомления DSN всегда имеют пустое From:.

Существует возможность менять имя файла, из которого берется шаблон уведомления, в зависимости от различных критериев. Для этого в Правилах обработки писем введен параметр настройки NotificationNamesMap, который определяет схему отображения имени уведомления, переданного в Notifier, в новое значение, из которого затем будет сформировано новое имя файла с шаблоном по вышеописанной схеме. Отображение имеет смысл производить только в имя, известное компоненту Notifier, так как в противном случае требуемый файл не будет найден. Эта ситуация будет являться ошибочной и будет обрабатываться в соответствии со значением параметра ProcessingError.

warning

Обратите внимание, что с помощью механизма NotificationNamesMap в Правилах обработки писем можно настраивать выбор разных пользовательских файлов шаблонов только для уведомлений второго и третьего типов, т.е. только для периодических отчетов и DSN.

Пример:

[Rule:buh]

...

NotificationNamesMap = report r1, dsn d1

...

[Rules]

to:regex:*@buh.domain.org cont rule=buh

Срабатывание этого Правила обработки писем приведет к тому, что в случае если письма будут поступать получателям из домена buh.domain.org, в качестве уведомления второго типа (периодического отчета администратору) будет использоваться файл report_r1.msg, а для DSN – файл dsn_d1.msg.

warning

Пожалуйста, обратите внимание, что в состав поставки Dr.Web MailD кроме стандартного файла шаблона DSN-уведомлений dsn.msg также включен дополнительный файл dsn_for_exchange.msg. Это специальная версия DSN-уведомления, которая должна использоваться, только если в качестве целевого MTA используется почтовый сервер MS Exchange (это связано с особенностями реализации MS Exchange, которая не полностью соответствует требованиям RFC 3464).

Это DSN-уведомление нельзя использовать с другими MTA. Штатный режим его использования, если оно требуется – это замена стандартного шаблона dsn.msg на модифицированный, например, при помощи команды:

cp dsn_for_exchange.msg dsn.msg

Этот способ позволит избежать перенастройки компонента генерации уведомлений Notifier.

Однако, обратите внимание, что на случай, если в дальнейшем Вам потребуется использовать стандартный шаблон dsn.msg, то рекомендуется сохранить его копию перед заменой.

Кроме этого, Вы можете воспользоваться рассмотренным выше механизмом замены имени шаблона для DSN, используемого компонентом Notifier, при помощи создания Правила, меняющего значение параметра NotificationNamesMap. Этот способ позволит не выполнять замену стандартного файла шаблона dsn.msg на нестандартный.

Перечень шаблонов, доступных по умолчанию

По умолчанию в поставку Dr.Web для почтовых серверов UNIX включены следующие файлы шаблонов:

Имя шаблона

Описание

Шаблоны уведомлений и отчетов, отправляемых администратору:

ADMIN_ARCHIVE.msg

Шаблон уведомления об ошибке сканирования письма с архивом во вложении, если на этот архив распространяются ограничения, заданные в главном конфигурационном файле drweb32.ini

ADMIN_CURED.msg

Шаблон уведомления об успешном излечении зараженного письма

ADMIN_ERROR.msg

Шаблон уведомления об ошибке в работе Dr.Web Daemon или подключаемого модуля

ADMIN_LICENSE.msg

Шаблон уведомления об ошибке сканирования письма, возникшей в связи с ограничениями, налагаемыми лицензией

ADMIN_MALWARE.msg

Шаблон уведомления об обнаружении в письме вредоносных программ

ADMIN_RULE.msg

Шаблон уведомления о блокировке письма в соответствии с заданным Правилом обработки

ADMIN_VIRUS.msg

Шаблон уведомления об обнаружении в письме вирусов

Шаблоны уведомлений, отправляемых получателю письма:

RCPTS_MALWARE.msg

Шаблон уведомления об обнаружении в письме вредоносных программ

RCPTS_VIRUS.msg

Шаблон уведомления об обнаружении в письме вирусов

Шаблоны уведомлений, отправляемых отправителю письма:

SENDER_ARCHIVE.msg

Шаблон уведомления об ошибке сканирования письма с архивом во вложении, если на этот архив распространяются ограничения, заданные в главном конфигурационном файле drweb32.ini

SENDER_CURED.msg

Шаблон уведомления об успешном излечении зараженного письма

SENDER_ERROR.msg

Шаблон уведомления об ошибке в работе Dr.Web Daemon или подключаемого модуля

SENDER_MALWARE.msg

Шаблон уведомления об обнаружении в письме вредоносных программ

SENDER_VIRUS.msg

Шаблон уведомления об обнаружении в письме вирусов

SENDER_SKIP.msg

Шаблон уведомления об ошибке сканирования письма. Успешному сканированию могут препятствовать защищенные паролем архивы или файлы нестандартных форматов во вложении. Также сканирование может быть прервано по истечении максимального времени ожидания ответа от Dr.Web Daemon или подключаемых модулей

Прочие шаблоны:

DSN.msg

Шаблон уведомления о доставке письма (DSN)

REPORT.msg

Шаблон для регулярных отчетов Dr.Web Daemon