Модуль находит спам в потоке входящих сообщений.
<module-SpamCheck> <log-level>N</log-level> <order>N</order> <whitelist-ttl>timeout</whitelist-ttl> <spf> <none>0</none> <neutral>0</neutral> <pass>-1</pass> <fail>1</fail> <softfail>0.7</softfail> <permerror>0.4</permerror> </spf> <greylist> <mask>N</mask> <recipient-ttl>timeout</recipient-ttl> </greylist> <ip-blacklist-providers> <provider> <addr>string</addr> <value code="N.N.N.N">N</value> ... </provider> ... </ip-blacklist-providers> <domain-blacklist-providers> <provider> <addr>string</addr> <value code="N.N.N.N">N</value> ... </provider> ... </domain-blacklist-providers> <ip-whitelist-providers> <provider> <addr>string</addr> <value code="N.N.N.N">N</value> ... </provider> ... </ip-whitelist-providers> <domain-whitelist-providers> <provider> <addr>string</addr> <value code="N.N.N.N">N</value> ... </provider> ... </domain-whitelist-providers> <ip-list name="string">...</ip-list> ... <ptrn-list name="string">pattern?1pattern*2pattern?3</ptrn-list> ... <no-check-when>...</no-check-when> <reject-when>...</reject-when> <greylist-when>...</greylist-when> <spam-folder threshold="N">folder</spam-folder> </module-SpamCheck>
Устанавливает порядок в котором модули получают события от модуля SMTP. По-умолчанию: 100.
Время хранения записей в белом списке. По-умолчанию: 60d.
Устанавливает оценки от -1 до 1 соответствующие результатам проверки SPF.
Количество бит адреса IP клиента использующихся для сравнения в сером списке. По-умолчанию: 24.
Время хранения записи о получателе в сером списке. По-умолчанию: 16h.
Провайдеры чёрных списков адресов IP, чёрных списков доменных имён, белых списков адресов IP, белых списков доменных имён.
Каждое XML дерево provider
описывает провайдера предоставляющего информацию через запросы к
системе DNS. Результат запроса представляет собой адрес IP который
рассматривается как код ответа. Узел provider/addr
указывает имя сервиса в DNS для запросов, а узлы provider/value
задают сопоставление результатов получаемых от провайдера и
оценок: значение узла value - даваемая
результату оценка, дробное число от -1 до 1, атрибут code - код ответа на запрос, четыре числа
разделённых точками, любое число может быть представлено
диапазоном в виде [N1-N2]. Пример:
<value code="127.0.0.[2-14]">0.5</value>
В
наборе узлов value XML дерева provider рекомендуется использовать весь
диапазон значений от -1 до 1.
Именованный список адресов IP к
которому могут выполняться обращения в выражениях. Атрибут
name задаёт имя использующееся в
качестве аргумента функций в выражениях. В конфигурации может быть
задано множество узлов ip-list.
Именованный список шаблонов
строк разделённых пробелами или переводами строк к которому могут
выполняться обращения в выражениях. Атрибут
name задаёт имя использующееся в
качестве аргумента функций в выражениях. В конфигурации может быть
задано множество узлов ptrn-list.
Выражение. Если результатом вычисления является ИСТИНА, сообщение не будет проверяться на спам.
Выражение. Если результатом вычисления является ИСТИНА, дальнейший анализ производиться не будет и сообщение не будет принято.
Выражение. Если результатом вычисления является ИСТИНА, доставка сообщения будет проходить через серый список.
Значение узла задаёт имя папок пользователей куда будут
помещаться сообщения с конечными результатами оценок выше значения
заданного атрибутом threshold.
Значения узлов no-check-when, reject-when и greylist-when представляют собой выражения вычисляемые в ходе работы, результатами вычислений являются значения ИСТИНА или ЛОЖЬ. Выражения состоят из функций, операторов и скобок. Функции должны иметь заданное количество аргументов заключённых в круглые скобки после имени функции и разделённых запятыми. Строковые аргументы записываются в двойных кавычках. Функции без аргументов могут записываться без скобок. Имена функций регистронезависимые.
Часть строки начиная с последовательности символов
"//" и до конца строки и части текста между
последовательностями символов "/*" и
"*/" являются комментариями. Использование
комментариев допускается между функциями, операторами или скобками но не
среди аргументов функции или между именем функции и её
аргументами.
Операторы:
! унарное отрицание логического
значения,
>[1] ИСТИНА если числовое значение слева больше значения
справа,
<[1]
ИСТИНА если числовое значение слева меньше значения справа,
+ сложение числовых значений,
- унарный знак отрицательного числового
значения или вычитание значения справа от значения слева.,
* умножение числовых значений,
/ деление числовых значений,
and логическая операция И над логическими
значениями,
or логическая операция ИЛИ над логическими
значениями.
Функции:
Возвращает ИСТИНА если адрес Return-Path (MAIL FROM) находится в белом списке, т.е. на этот адрес отправлялись письма из наших доменов.
IPBL
Возвращает значение -1..1 - результат проверки адреса IP клиента у провайдеров чёрных списков.
IPWL
Возвращает значение -1..1 - результат проверки адреса IP клиента у провайдеров белых списков.
DomainBL
Возвращает значение -1..1 - результат проверки доменного имени клиента у провайдеров чёрных списков.
DomainWL
Возвращает значение -1..1 - результат проверки адреса доменного имени клиента у провайдеров белых списков.
SPFNone
Возвращает ИСТИНА если результат проверки SPF "none".
SPFNeutral
Возвращает ИСТИНА если результат проверки SPF "neutral".
SPFPass
Возвращает ИСТИНА если результат проверки SPF "pass".
SPFFail
Возвращает ИСТИНА если результат проверки SPF "fail".
SPFSoftfail
Возвращает ИСТИНА если результат проверки SPF "softfail".
SPFTemperror
Возвращает ИСТИНА если результат проверки SPF "temperror".
SPFPermerror
Возвращает ИСТИНА если результат проверки SPF "permerror".
SPF
Возвращает значение
-1..1 - оценка
результата проверки SPF, см. узел spf
конфигурации.
PTR
Возвращает ИСТИНА если обратная запись DNS для адреса IP клиента существует.
PTRHelo
Возвращает ИСТИНА если строка переданная в команде HELO/EHLO соответствует имени из обратной записи DNS для адреса IP клиента.
PTRSender
Возвращает ИСТИНА если Return-Path (MAIL FROM) соответствует имени из обратной записи DNS для адреса IP клиента.
Match(objects,patterns)
Аргумент objects - строка
содержащая одно или несколько ключевых слов разделённых пробелами:
HOSTNAME - доменное имя хоста клиента,
HELO - строка переданная в команде HELO/EHLO,
PR - Return-Path. Аргумент patterns - строка содержащая один или
несколько шаблонов разделённых пробелами. Возвращает
ИСТИНА если хотя бы один из объектов
objects соответствует хотя бы
одному шаблону patterns.
MatchList(objects,ptrnlists)
Аргумент objects - строка
содержащая одно или несколько ключевых слов разделённых пробелами:
HOSTNAME - доменное имя хоста клиента,
HELO - строка переданная в команде HELO/EHLO,
PR - Return-Path. Аргумент ptrnlists - строка содержащая одно или
несколько имён списков шаблонов разделённых пробелами. Именованные
списки шаблонов задаются узлами ptrn-list
конфигурации. Функция возвращает ИСТИНА если
хотя бы один из объектов objects
соответствует хотя бы одному шаблону из списков ptrnlists.
IPListed(iplists)
Аргумент iplists - строка
содержащая одно или несколько имён списков адресов IP разделённых
пробелами. Именованные списки адресов задаются узлами ip-list конфигурации. Возвращает
ИСТИНА если адрес IP клиента находится хотя
бы в одном списке iplists.
[1] В формате XML символы ">" (больше) и "<" (меньше) представляются сущностями > и < соответственно.