Wie kann ich ausgehende E-Mails für einen bestimmten Benutzer blockieren ([email geschützt]) in Postfix an alle Domänen außer einer bestimmten Liste (z. B. @example.com, @dot1q.com)?
Ich habe eine Lösung gefunden, um E-Mails an eine bestimmte Domäne zu blockieren:
Bearbeiten Sie diemain.cfDatei (der Standardspeicherort ist in/etc/postfix) und fügen Sie
transport_maps = hash:/etc/postfix/transport
der Datei hinzu. Erstellen Sie eine Datei mit dem Namen/etc/postfix/transport, falls es nicht existiert. Fügen Sie am Ende der Transportdatei Folgendes hinzu:example.com : dot1q.com : * discard:
aber das blockiert leider die E-Mail aller Benutzer. Ist es möglich, dies nur für einen Benutzer zum Laufen zu bringen?[email geschützt]?
Antwort1
Die richtige Syntax für die transport
Datei sollte in Ihrem Fall (unter Verwendung regulärer Ausdrücke) lauten:
/^user@example\.com/ discard:
/.*/ :
Die erste Zeile postfix
sagtverwerfenMail mit Adresse gesendet [email protected]
, die zweite Zeile tess postfix
anakzeptierenalles andere.
Antwort2
Postfix stellt check_sender_access
den Parameter ' ' zur Verfügung. Er kann in /etc/postfix/main.cf verwendet werden als
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/access
Um ausgehende E-Mails zu blockieren [email protected]
, erstellen Sie
/etc/postfix/access
mit Folgendem
[email protected] REJECT
Führen Sie anschließend die folgenden Befehle aus
postmap /etc/postfix/access
service postfix restart
Wenn Sie sendmail als MTA verwenden, bearbeiten Sie die Datei /etc/mail/access und fügen die folgende Regel hinzu:
From:[email protected] REJECT
Starten Sie dann den Sendmail-Dienst neu als:
service sendmail restart
Der Benutzer „Test“ sollte keine E-Mails senden dürfen.