стоит sendmail 8.13.4. Есть 17 regex карт. Есть 2 секвенсора (sequence). В одной 10 карт в другой 7 (про ограничения - знаю,у меня MAXMAPSTACK=12)#REJECT hosts
Kspamwords1_d regex -a@FOUND_D1 -f adsl|dynamic|dhcp|cable|pppoe
[-skip-]
Kspamwords17_d regex -a@FOUND_D17 -f m[0-9]{1,3}.net[0-9]{1,3}-[0-9]{1,3}
#ALLOW hosts
Kspamwords1_a regex -a@FOUND_A1 -f fake.host1.ru
Kspamwords2_a regex -a@FOUND_A2 -f fake.host2.ruKsumm_d sequence spamwords1_d [-skip-] spamwords10_d
Ksumm_d1 sequence spamwords11_d [-skip-] spamwords17_d
Ksumm_a sequence spamwords1_a spamwords2_aесть набор правил:
SLocal_check_relay
R$* $| $* $: $(summ_a $1 $) $| $1
R@FOUND_A1 $| $* $@ OK
R@FOUND_A2 $| $* $@ OK
R$* $| $* $: $(summ_d $1 $) $| $1
R@FOUND_D1 $| $* $#error $: 553 Bad relay
[-skip-]
R@FOUND_D17 $| $* $#error $: 553 Bad relayТрабла в том, что когда я смотрю на пройденные спам письма, некоторые не должны были пройти. Например есть такой заголовок:
Received: from 210.211.252.4.bb-dynamic.vsnl.net.in (210.211.252.4.bb-dynamic.vsnl.net.in [210.211.252.4] (may be forged))
by мойпочтарь.ru (8.13.4/8.13.4) with ESMTP id j8EEO8Mm004101
У меня стоит фильтрация по слову dynamic в spamwords1_d, а письмо проходит !
Почему $| $1 а не $| $2?Но это не д.б. повлиять...
В остальном на первый взгляд все верно.
Попробуй добавить вывод в лог после каждой строки.
Или подай на вход $&_
>Почему $| $1 а не $| $2?
>Но это не д.б. повлиять...
чтобы сохранить значение relay, я его потом в error вставляю. на форуме не написал, потому что строка длинная...
>В остальном на первый взгляд все верно.
>
>Попробуй добавить вывод в лог после каждой строки.
>
>Или подай на вход $&_
попробую. спасибо.