Обработка ошибок и проверка корректности Правил

Обработка ошибок

Если в строке с Правилом при обработке будет найдена ошибка, то информацию о ней выводится в журнал, а само Правило игнорируется. Кроме того, случае Lookup производится так же обработка возникшей ошибки в соответствии со значением параметра OnError (заданного для источника данных или переопределенного непосредственно в Lookup).

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

Кроме того, если при анализе Правила Lookup-выражение вернет некорректные результаты, то все результаты, возвращаемые этим Lookup-выражением, будут отброшены и проигнорированы (даже если часть из них корректна).

Проверка Правил

Для проверки корректности Правил имеется возможность запустить модуль drweb-maild с указанием специальных параметров командной строки. С помощью этих параметров задаются различные свойства предполагаемого письма, и модуль выводит на экран консоли все настройки из Правил, которые будут применимы к данному письму. Перечень доступных параметров проверки перечислен в разделе Параметры командной строки (подраздел Специфические параметры модуля drweb-maild).

Пример команды проверки Правил:

$ ./drweb-maild --auth
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG  notify* :
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG  all : block
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG  archive : from=allow; admin=allow;
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG  cured : from=allow;
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG  error : from=allow; admin=allow;
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG  license : admin=allow;
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG  malware : from=allow; to=allow; admin=allow;
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG  rule : admin=allow;
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG  skip : from=allow;
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG  virus : from=allow; to=allow; admin=allow;
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG  scan : all
Thu May 29 16:03:44 2009 [3081324208] maild.rules DEBUG  html : 1

В данном случае эмулируется поступление на обработку письма с установленной отметкой об успешной авторизации отправителя (auth). Другие параметры письма не указаны. В выводе на экран указаны все параметры, которые установятся для такого письма после срабатывания всех Правил (в данном случае – настройка генерации уведомлений для разных результатов проверки, указание на что, что письмо будет проверено всеми используемыми подключаемыми модулями, а также, что отчеты будут генерироваться в формате HTML).