<< Кликните, чтобы показать Содержание >> Условие FROM, TO, CC, BCC, ADDRESS, SUBJECT |
Проверить значение одного из полей from, to, cc, bcc, subject, address.
Описание
Это условие проверяет значение поля на содержание указанной подстроки или на соответствие шаблону wildcard или regexp.
from
Проверяет поле FROM (адрес отправителя)
to
Проверяет поле TO (адрес получателя)
cc
Проверяет поле CC
bcc
Проверяет поле BСС
address
Проверяет все поля адресов (from, to, cc, bcc). Если в любом из них найдено соответствие, то условие выполняется
subject
Проверяет поле SUBJECT.
Формат
<c name="from" op="<operation>" value="<compare pattern>" /> <c name="to" op="<operation>" value="<compare pattern>" /> <c name="cc" op="<operation>" value="<compare pattern>" /> <c name="bcc" op="<operation>" value="<compare pattern>" /> <c name="subject" op="<operation>" value="<compare pattern>" /> <c name="address" op="<operation>" value="<compare pattern>" /> |
---|
Атрибут "name":
В атрибуте "name" укажите имя условия: name="from", name="to", name="cc", name="bcc", name="subject" или name="address"
Атрибут "op":
Атрибут op="..." указывает на тип операции сравнения и может принимать значения:
eq или = или ==
Условие выполняется, если значение поля СОДЕРЖИТ указанное значение
ne или != или <>
Условие выполняется, если значение поля НЕ СОДЕРЖИТ указанное значение
wc или wildcard
Условие выполняется, если значение поля соответствует указанному wildcard-шаблону
re или regex или regexp
Условие выполняется, если значение поля соответствует указанному regexp-шаблону.
Атрибут "value":
В атрибуте value="..." указывается строка, с которой сравнивается значение, или шаблон для проверки.
Пример:
<c name="from" op="eq" value="xxx@mail.ru" /> |
---|
Условие выполняется, если поле FROM сообщения содержит строку "xxx@mail.ru".
<c name="to" op="!=" value="xxx@mail.ru" /> |
---|
Условие выполняется, если поле TO сообщения не содержит строку "xxx@mail.ru".
<c name="cc" op="wc" value="*@mail.ru" /> |
---|
или
<c name="cc" op="wildcard" value="*@mail.ru" /> |
---|
Условие выполняется, если поле CC сообщения соответствует wildcard-шаблону "*@mail.ru".
<c name="address" op="re" value=".+@mail.ru" /> |
---|
или
<c name="address" op="regexp" value=".+@mail.ru" /> |
---|
Условие выполняется, если любое из адресных полей сообщения (FROM, TO, CC или BCC) соответствует regex-шаблону "+@mail.ru".
<c name="subject" op="re" value=".*((badword1)|(badword2)|(badword3)).*" /> |
---|
Условие выполняется, если в теме сообщения найдено соответствие regex-шаблону ".*((badword1)|(badword2)|(badword3)).*".
Проще говоря – условие выполняется, если в теме есть слова badword1, badword2 или badword3.
<c name="subject" op="re" value="(\+?\d([ \-\(])?\d{3}([ \-\)])?)?([ -])?((\d{7})| (\d{3}([ \-])?\d{2}([ \-])?\d{2})| (\d{2}([ \-])?\d{3}([ \-])?\d{2}))" /> |
---|
Условие выполняется, если в теме сообщения найден номер телефона (строка, соответствующая regexp).
Телефонный номер в этом случае может соответствовать одному из следующих форматов:
1234567
123 45 67
12 345 67
89031234567
8(903)1234567
8-903-123-45-67
8 903 123 45 67
+79031234567
+7(903)1234567
+7-903-123-45-67
+7 903 123 45 67
Пример:
Письма c адреса или на адрес *@mail.ru продолжить обрабатывать, всё остальное игнорировать.
<?xml version="1.0" encoding="utf-8"?> <filter name="Message filter" version="1.0"> <comment>Message filter.</comment>
<table name="main">
<rule enabled="1"> <match> <c name="address" op="wildcard" value="*@mail.ru" /> </match> <action name="accept" /> </rule>
<rule enabled="1"> <action name="drop" /> </rule>
</table> </filter> |
---|