вопрос неонократно мной поднимался, но так и не услышал ответа на него, повторюсь ещё разкак сделать так чтобы на почту приходили из интернета только на заданные почтовые адреса, со всех остальных не приходили сделал это таким образом
в файле
/etc/mail/access
...........
ts@domain.ru OK
ekb@domain.ru OK
an@domain.ru OK
domain.ru REJECT
...........
теперь приходить почта только на адреса написанные выше, но, есть одно НО, не приходит и локально почта, в частности на ящик root@domain.ru, вопрос заключаеться в том как оставить всё как есть, но + ещё чтобы почта локально ходила без проблем? т.е. заблочен был адресс из инета root@domain.ru, но локально на него приходили отчёты? под словом ЛОКАЛЬНО я имею ввиду, на сервере на котором стоит почта, а не в локальной сети, если кто не понял могу обьяснить подробнее.
check_rcpt ?
>check_rcpt ?
?
>вопрос неонократно мной поднимался, но так и не услышал ответа на него,
>повторюсь ещё раз
>
>как сделать так чтобы на почту приходили из интернета только на заданные
>почтовые адреса, со всех остальных не приходили сделал это таким образом
>
>в файле
>/etc/mail/access
>...........
>ts@domain.ru OK
>ekb@domain.ru OK
>an@domain.ru OK
>domain.ru REJECT
>...........
>теперь приходить почта только на адреса написанные выше, но, есть одно НО,
>не приходит и локально почта, в частности на ящик root@domain.ru,
>вопрос заключаеться в том как оставить всё как есть, но +
>ещё чтобы почта локально ходила без проблем? т.е. заблочен был адресс
>из инета root@domain.ru, но локально на него приходили отчёты? под словом
>ЛОКАЛЬНО я имею ввиду, на сервере на котором стоит почта, а
>не в локальной сети, если кто не понял могу обьяснить подробнее.
>
Что-то не совсем понятно описана задача.
если не нужно принимать почту - не заводи юзера.
Возможно поможет такое решение.
В файле local-host-names прописываешь имя домена для которого принимать почту.
а в access перечисляешь юзеров, для которых почту принимать запрещено.
>в файле
>/etc/mail/access
>...........
>ts@domain.ru OK
>ekb@domain.ru OK
>an@domain.ru OK
>domain.ru REJECT
Дополнение:
если написать так
ts@ OK
ekb@ OK
an@ OK
domain.ru REJECT
то будет блокироваться почта на все локальные домены, если таковые имеются
>не приходит и локально почта, в частности на ящик root@domain.ru,
>вопрос заключаеться в том как оставить всё как есть, но +
>ещё чтобы почта локально ходила без проблем? т.е. заблочен был адресс
>из инета root@domain.ru, но локально на него приходили отчёты?
Может, это подойдет
http://www.anrb.ru/linux/sendmail.html#4B
Но это не в дополнение к твоему варианту access, а самостоятельное решение
обясняю примером
from no@mail.ru to root@domain.ru REJECT
from root@domain.ru to root@domain.ru ACCEPT
from postmaster@domain.ru to root@domain.ru ACCEPT
from mudak@mail.ru toа postmaster@domain.ru REJECTкароче как не понятно мн ене нужно принимать с внешки с любыз адресов на адреса которые существуют на domain.ru, но локально чтобы почта прекрасно ходила от любого пользоваталея к любому на машине серваке которая!!!! а из внехи только на указанные чтобы приходила, просто если я делаю так
>ts@domain.ru OK
>ekb@domain.ru OK
>an@domain.ru OK
>domain.ru REJECTто приходит почта с внехи только на перечисленные выше адреса, т.е. :
from no@mail.ru to ts@domain.ru ACCEPT
from no@mail.ru to ekb@domain.ru ACCEPT
from no@mail.ru to an@domain.ru ACCEPT
from no@mail.ru to root@domain.ru REJECT
всё прекрасно так и надо, но есть одно НО, теперь не ходит почта между юзерями локально, не в лане локально а на серваке, т.е от postmaster на root и т.д.!!!теперь делаем так убираем всё записи вот эти:
ts@domain.ru OK
ekb@domain.ru OK
an@domain.ru OK
domain.ru REJECTполучаем вот что:
from no@mail.ru to ts@domain.ru ACCEPT
from no@mail.ru to ekb@domain.ru ACCEPT
from no@mail.ru to an@domain.ru ACCEPT
from no@mail.ru to root@domain.ru ACCEPTтакое мне не надо потому что не нужно на системные аккаунты получать письмена!!!
теперь понятно?
выше использовались
*@domaim.ru мой сервер
*@mail.ru любой другой сервак в инете
1. Выкидываем из access
ts@domain.ru OK
ekb@domain.ru OK
an@domain.ru OK
domain.ru REJECT2. Создаем /etc/mail/users
ts [TAB] LIST
ekb[tab] LIST
an [TAB] LIST3. makemap hash users <users
4. В sendmail.mc добавляем
LOCAL_CONFIG
LOCAL_RULESETS
Kusers hash /etc/mail/users
SLocal_check_rcpt
R$* $: $>3 $1
R$+<@$=w.> $: $>CheckUs $1
R$+<@$+> $@ OK
R$+ $: $>CheckUs $1SCheckUs
R$+ $: $(users $1 $)
RLIST $: OKR$* $: ${client_addr}
R127.0.0.1 $: OK
R$* $#error $: 553 Sorry, you can not send letter to this user
>вопрос неонократно мной поднимался, но так и не услышал ответа на него,
>повторюсь ещё раз
>
>как сделать так чтобы на почту приходили из интернета только на заданные
>почтовые адреса, со всех остальных не приходили сделал это таким образом
>
>в файле
>/etc/mail/access
>...........
>ts@domain.ru OK
>ekb@domain.ru OK
>an@domain.ru OK
>domain.ru REJECT
>...........
>теперь приходить почта только на адреса написанные выше, но, есть одно НО,
>не приходит и локально почта, в частности на ящик root@domain.ru,
>вопрос заключаеться в том как оставить всё как есть, но +
>ещё чтобы почта локально ходила без проблем? т.е. заблочен был адресс
>из инета root@domain.ru, но локально на него приходили отчёты? под словом
>ЛОКАЛЬНО я имею ввиду, на сервере на котором стоит почта, а
>не в локальной сети, если кто не понял могу обьяснить подробнее.
>Может так попробовать?
В /etc/mail/access
localhost.localdomain RELAY
localhost RELAY
ts@domain.ru OK
ekb@domain.ru OK
an@domain.ru OK
domain.ru REJECT