Подскажите пожалуйста, установлен sendmail, как сделать что бы определенный ящик не мок принимать и отправлять внешнюю почту (только по локалке)
Спасибо.
>Подскажите пожалуйста, установлен sendmail, как сделать что бы определенный ящик не мок
>принимать и отправлять внешнюю почту (только по локалке)
>Спасибо.
Легко конечно это дело обмануть но все же...
################################ в конце /etc/mail/sendmail.mc добавь, потом собери:LOCAL_RULESETS
Kdenyrelay hash -o /etc/mail/deny-relay.db
Smy_check_relay
R$* $: $>3 $1 канонизируем получателя
R$* < @ $=w .> $@ <NORELAY> письмо идет нам ?
# да, нам - выйти (это не RELAY)
R$* $: $1 $| <LOCAL> если адрес получателя не содержит доменной части
R$* @ $* $| $* $: $1 @ $2 $| <NOTLOCAL> нет, все таки содержит и "не нам" => это RELAY
R$* $| <LOCAL> $@ <NORELAY>
# не нам ===> значит это RELAY, смотрим дальше
R$* $: $>3 $&f канонизируем отправителя :
# from<@senderhost.>
R$* $: $1 $| <DENY> сделаем по умолчанию DENY
# (вдруг идет не от нас не нам)# письмо идет от нас ? Можно ему идти дальше ?
R$* < @ $=w . > $| $* $: $1 < @ $2 . > $| < $(denyrelay $1 $) >
R$* $| <DENY> $#error $@ 5.7.1 $: "550 Relaying denied" НЕТ
R$* $| <OK> $@ <OK> ДА
# нашего отправителя нет в /etc/mail/deny-relay.db ?
# тогда смотрим что делать по умолчанию...
R$* $| $* $: $1 $| < $(denyrelay defaultrelay $) ># если действие по умолчанию не определено, то ЗАПРЕТ
R$* $| <OK> $@ <OK> МОЖНО
R$* $#error $@ 5.7.1 $: "550 Relaying denied" по умолчанию НЕЛЬЗЯ
Kdenyrcpt hash -o /etc/mail/deny-incoming.dbSmy_check_rcpt
R$* $: $>3 $1 канонизируем получателя
R$* $: $1 $| $>3 $&f а теперь и отправителя
R$* $| $* <@ $=w .> $@ <OK> отправитель локальный ?
# отправитель наш => все OK, выходим
R$* < $* > $| $* $: < $(denyrcpt $1 $) > проверяем имя получателя
# в /etc/mail/deny-incoming.db
R<OK> $@ <OK> МОЖНО
R<DENY> $#error $@ 5.1.1 $: "550 User unknown" НЕЛЬЗЯ
R$* $: < $(denyrcpt defaultmail $) > ни то, ни другое ==> смотрим по умолчанию
R<OK> $@ <OK> разрешено, значит МОЖНО
R$* $#error $@ 5.1.1 $: "550 User unknown" нет, значит НЕЛЬЗЯSLocal_check_rcpt
R$* $: $1 $| $>my_check_relay $1
R$* $| $# $* $@ $# $2
R$* $| <OK> $@ <OK>
R$* $| $* $@ $>my_check_rcpt $1
#################################### END OF /etc/mail/sendmail.mc
############################### start /etc/mail/deny-incoming
defaultmail OK
root OK
adm DENY
############################### end /etc/mail/deny-incoming############################### start /etc/mail/deny-relay
defaultrelay OK
root OK
adm DENY
############################### end /etc/mail/deny-relay