Условия в правилах
В правилах применяются два типа условий: предопределенные и условия на основе регулярных
выражений.
Условия первого типа реализованы в коде плагина и работают согласно описанию в соответствующем
поле окна редактирования условия:
EMPTY_BODY - Сообщение не содержит
текста или вложений
NOT_TO_ME - В списках адресов получателей (To: и CC:) отсутствует адрес
почтового ящика куда пришло письмо
DATE_IN_FUTURE - Поддельная дата создания письма (содержит
дату более чем на 25 часов превышающую дату получения письма)
FORGED_NDR - Сообщение содержит
отчет об ошибке доставки спамерского сообщения (NDR) с одним из ваших адресов в
качестве адреса отправителя.
CAPITAL_LETTERS_IN_SUBJECT - Более 80% заглавных букв в теме письма длиной более 10 символов
Условия второго типа представляют собой регулярные выражения PCRE, применяемые к телу письма,
либо к одному из его заголовков. Условие срабатывает если выражение можно применить
к указанной в условии части письма. В простом случае в качестве выражения может
быть просто текст, который нужно проверить на вхождение в определенную часть письма.
Проверка производится без учета регистра. Если вы не хотите разбираться в синтаксисе
регулярных выражений, то вводите текст из букв, цифр и пробелов. Условие будет
искать вхождение введенного выражения в текст и сработает в случае успеха.
Примеры выражений (кавычки не входят в выражение, под словом текст подразумевается
указанная в условии часть письма - тело или заголовок):
- "foo bar"
Выражение применимо, если в тексте содержится строка "foo bar".
- "foo\s+bar"
То же самое, только без учета количества пустых символов между словами foo
и bar (но должен быть хотя бы один).
- "^foo"
Выражение применимо, если текст начинается с "foo".
- "foo$"
Выражение применимо, если текст оканчивается на "foo".
- "^foo bar$"
Выражение применимо, если текст полностью соответствует строке "foo bar"
В выражениях практически все не алфавитно-цифровые символы являются служебными.
Если Вы не используете механизмы регулярных выражений, но все таки хотите чтобы
текст со служебными символами проверялся как обычный, то перед каждым таким символом
нужно поставить "\". Например "\\doom" будет искать в тексте
строку "\doom", т.к. символ "\" является служебным. Но если
вы введете в качестве выражения просто "\doom", то будет искаться строка
"<цифра>oom", т.к. сочетание "\d" является служебным и соответствует
любой цифре. Более подробную информацию о синтаксисе регулярных выражений вы можете
найти в руководстве по использованию правил:
http://antispamsniper.com/ru/art_rules.html
Условие может содержать флаг отрицания. Это означает, что условие сработает если
выражение нельзя применить к определенной части письма.
Условие можно пометить как сильное. Тогда при его срабатывании соответствующее
правило будет удовлетворено, независимо от остальных условий.