Юзал поиск но местные решения не заработали((( Есть FreeBSD6.4 и Sendmail Задача запретить группе юзеров слать почту на внешние домены за исключением двух. Для тестов ограничиваю пока только 1 юзера testn В sendmail.cf добавил:
LOCAL_CONFIG
#Ogranichennyi lokalnyi otpravitel:
KSnd regex -a@LIST1 ^testn$
#Poluchatel s kotorym razresheno obshchatsia neschastnomu :
KRcp regex -a@LIST2 $*<@npsb.ru>
Kstorage macro
LOCAL_RULESETS
Scheck_compat
R$* $| $* $: $2 $| $>Parse0 $>3 $1
R$* $| $* $: $2 $| $>Parse0 $>3 $1
#Proveriaem iavliaetsia li otpravitel lokalnym i ogranichennym v pravakh: da - otpravliaem na dalneishuiu proverku v
#adres poluchatelia; net - propuskaem:
CheckLocalUser
R$+<@$=w.> $| $+ $: $(Snd $1 $:$1 $) $| $3
R@LIST1 $| $+ $: $>CheckLocalUser $1
#Pochtu ot vneshnego otpravitelia propuskaem.
R$* $| $* $@ OK
SCheckLocalUser
#Proveriaem, kto poluchatel. Esli lokalnyi - propuskaem.
R$+<@$=w.> $@ OK
R$+ $: $(Rcp $1 $:$1 $)
#Esli tot, kotoryi v spiske Rcp - zavershaem rabotu nabora pravil (propuskaem pismo)
R@LIST2 $@ OK
#Net, otbrasivaem
R$* $#error $: 554 Sorry, you can not send letter to this user.
cat access
ClientRate: 4
ClientConn:127.0.0.1 128
ClientConn:192.168 128
ClientConn: 4
192.168.0.6 OK
192.168.0 RELAY