Ausgangslage:
Mehrere Systeme im Haus, relayen über den zentralen Postfix-Mailserver
Anforderung:
Ein bestimmter Absender (benachrichtigung@cubewerk.de) darf nur 3 bestimmte Zieldomains (microsoft.com, aol.com, yahoo.com) anschreiben.
Für alle anderen Domains, soll dieser eine Absender ein reject erhalten.
main.cf erweitern um:
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/benachrichtigung
smtpd_restriction_classes = benachrichtigung
benachrichtigung = check_recipient_access hash:/etc/postfix/erlaubt, reject
/etc/postfix/benachrichtigung erstellen mit
benachrichtigung@cubewerk.de benachrichtigung
postmap /etc/postfix/benachrichtigung
/etc/postfix/erlaubt erstellen mit
microsoft.com OK
aol.com OK
yahoo.com OK
postmap /etc/posfix/erlaubt
Abschließend ein /etc/init.d/posfix restart
Jetzt der Praxistest:
bauer@mail05:~$ telnet localhost 25
Trying ::1…
Connected to localhost.
Escape character is ‚^]‘.
220 mail05.int ESMTP Postfix (Ubuntu)
mail from: benachrichtigung@cubewerk.de
250 2.1.0 Ok
rcpt to: test@microsoft.com
250 2.1.5 Ok
rcpt to: test@yahaoo.com
250 2.1.5 Ok
rcpt to: anderer-empfaenger@t-online.de
554 5.7.1 <benachrichtigung@cubewerk.de>: Sender address rejected: Access denied
Restliche Absender davon nicht berührt:
bauer@mail05:~$ telnet localhost 25
Trying ::1…
Connected to localhost.
Escape character is ‚^]‘.
220 mail05.int ESMTP Postfix (Ubuntu)
mail from: interner-absender@cubewerk.de
250 2.1.0 Ok
rcpt to: anderer-empfaenger@t-online.de
250 2.1.5 Ok