Я хотел бы знать, как запретить моим пользователям отправлять друг другу письма, но дать им возможность отправлять и получать внешнюю почту.
john@localdomain.com <---> julie@localdomain.com ОТКЛЮЧИТЬ
john@localdomain.com <---> tom@gmail.com ОК
julie@localdomain.com <---> tom@gmail.com ОК
Я уже пытался настроить правила ограничения доступа, например
/etc/postfix/main.cf:
smtpd_recipient_restrictions =
...
check_recipient_access hash:/etc/postfix/protected_destinations
...the usual stuff...
smtpd_restriction_classes = insiders_only
insiders_only = check_sender_access hash:/etc/postfix/insiders, reject
/etc/postfix/protected_destinations:
all@my.domain insiders_only
all@my.hostname insiders_only
/etc/postfix/insiders:
my.domain OK matches my.domain and subdomains
another.domain OK matches another.domain and subdomains
Но это не помогло вызвать блокировку локального отправителя до проверки локального получателя и блокировку локального получателя до проверки внешнего.
Конфигурация выше (видимо из эта страница) используется, чтобы разрешить только внутреннюю связь и заблокировать электронную почту извне во внутреннюю.
Для вашего случая вам нужно изменить его
# /etc/postfix/main.cf:
smtpd_recipient_restrictions =
...
check_recipient_access hash:/etc/postfix/protected_destinations
...the usual stuff...
smtpd_restriction_classes = reject_insiders
reject_insiders = check_sender_access hash:/etc/postfix/insiders, permit
# /etc/postfix/protected_destinations:
localdomain1.example.com reject_insiders
localdomain2.example.com reject_insiders
# /etc/postfix/insiders:
localdomain1.example.com REJECT local email isn't allowed
localdomain2.example.com REJECT local email isn't allowed