Прошу помощи, потому что возникли вопросы о целесообразности включения определенных проверок и их правильности.
Может, если тут разобраться что к чему, вдруг кому пригодиться.
Технически спам можно фильтровать двумя основными способами: по формальным признакам сообщения (по обратному адресу, способу отправки и оформлению) и по его содержанию (то есть по его смыслу, семантически).
При настройке правил в Exim без дополнительных программ (dspam или spamassassin) в основном делается упор на проверку по формальным признакам.
Настраивал в основном по статье http://www.lissyara.su/articles/freebsd ... +exchange/.
Вот эти определенные проверки:
получим запись из обратной зоны для айпи клиента
Код: Выделить всё
set acl_c_reverse_zone = ${escape:${lookup dnsdb{ptr=$sender_host_address}}}
Код: Выделить всё
condition = ${if match{${lc:$acl_c_reverse_zone}}{${lc:$sender_host_address}}{no}{yes}}
Код: Выделить всё
condition = ${if match_ip{$sender_host_address}{${lookup dnsdb{>:a=${lookup dnsdb{>: mxh=$sender_address_domain}}}}}{yes}{no}}
Код: Выделить всё
condition = ${if !match_ip{$sender_host_address}{${sq{${lookup dnsdb{a=$sender_helo_name}{$value}fail}}{\N\n\N}{:}}}{yes}{no}}
Код: Выделить всё
exim -be
> ${if match {${lc:1.1.1.1}}{${lc:2.2.2.2}}{yes}{no}}
no
> ${if match {${lc:1.1.1.1}}{${lc:1.1.1.1}}{yes}{no}}
yes
(№3):
Код: Выделить всё
exim -be
> ${if !inlist{94.228.245.4}{${sg{${lookup dnsdb{a=mx1.sportmaster.ru}{$value}fail}}{\N\n\N}{:}}}{yes}{no}}
yes
Код: Выделить всё
exim -be
> ${if inlist{94.228.245.4}{${lookup dnsdb{>:a=${lookup dnsdb{>: mxh=sportmaster.ru}}}}}{no}{yes}}
yes
Заранее благодарен за разумную посильную помощь.