|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Eugene E Panfyorov 2:5020/400 12 Sep 2007 10:43:25 To : Peter Tveritin Subject : Re: Фильтрация почты по regexp'у имени хоста в exim --------------------------------------------------------------------------------
Peter Tveritin wrote:
> Hi All,
>
> Хочется следующего изврата:
> Exim может следующую вещь:
> ---
> deny message = "your hostname is bad"
> condition = ${if match{$sender_host_name}{adsl|dialup|pool|peer}{yes}{no}}
> ---
> А нельзя ли брать данные для этой подстановки из mysql-базы?
я бы тебе с mysql ещё возиться не советовал принципиально, это - лишняя
зависимость. к тому же очень ненадёжная.
А вот выписать все регекспы в отдельный файл - архиправильная мысль.
показываю пример как это можно сделать штатными средствами эксима:
# проверяем совпадает ли хело домэйн нэйнм
# c любым паттерном из файла wrong_helo.reg
warn hosts = !+relay_from_hosts
condition = ${if
{and { \
{def:sender_helo_name} \
{match {$sender_helo_name}{\N\.\N}} \
{eq {${lookup{${lc:$sender_helo_name}} \
nwildlsearch{/etc/exim/wrong_helo.reg} {yes}{no}}} {no}} \
}} \
{no}{yes} }
set acl_m4 = yes
# если совпадало и письмо адресовано дураку, который хочет получать спам
# то принимаем письмо снабдив его доп хэдэрами
accept condition = ${if eq{$acl_m4}{yes} {yes}{no}}
domains = +local_domains : +relay_to_domains
local_parts = postman : postmaster : abuse :
${lookup{$domain}lsearch{/etc/exim/spam_friend.names}}
add_header = X-Spam-Flag: yes
add_header = X-Spam-Status: wrong HELO $sender_helo_name
log_message = wrong HELO $sender_helo_name
# если совпадало и не принялось на спамфренда, значит отрежектить
deny condition = ${if eq{$acl_m4}{yes} {yes}{no}}
message = unrouteable address
log_message = wrong HELO $sender_helo_name
Hу надо изучить синтакс конфига эксима,
Ключевые слова, применительно к вашей задаче:
lookup, nwildsearch
эти конструкции как раз и позволяют работать с внешним списком регекспов.
И весь этот пример помещён в раздел ACL
и вызывается после принятия команды RCPT TO
--- ifmail v.2.15dev5.4
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.unix/257518312ec61.html, оценка из 5, голосов 10
|