Ich möchte Postfix so konfigurieren, dass nur E-Mails an Adressen in einer Whitelist gesendet werden. Ich habe versucht, smtpd_recipient_restrictions
in main.cf
so zu verwenden:
smtpd_recipient_restrictions =
reject_unauth_destination
check_recipient_access hash:/path/to/whitelist
Die Whitelist-Datei hat das Format
[email protected] OK
[email protected] OK
Und dann mit dem postmap
Befehl in einen Hash übersetzt .
Das Relay sendet jedoch E-Mails an Adressen, die nicht auf der Whitelist stehen. Was vermisse ich?
Bearbeiten: Ich sende diese Mail über den sendmail
Befehl, der anscheinend die smptd-Einschränkungen umgeht. Gibt es eine Möglichkeit, damit umzugehen?
Bearbeiten 2 / Der Rest der Geschichte: Ich habe ziemlich viel Zeit damit verbracht, sendmail über SMTP senden zu lassen, nur um festzustellen, dass der von mir verwendete Befehl nicht sendmail war, sondern die sendmail-Kompatibilitätsoberfläche von postfix, die die Funktionalität nachahmt, aber nicht dazu aufgefordert werden kann benutze SMTP soweit ich das beurteilen kann.
Die Lösung von 84104 funktionierte jedoch perfekt.
postconf -n
, damit wir sehen können, was real ist.Antworten:
Sie haben postfix angewiesen, einige Arten von E-Mails abzulehnen und andere E- Mails anzunehmen. Es ist möglich, dass einige Nachrichten von keinem der Filter abgefangen werden. In diesem Fall sind sie zulässig. Ich denke, Sie möchten ihm sagen, dass er nur die Liste akzeptieren (prüfen) und alles andere ablehnen soll.
als Antwort auf die Bearbeitung:
sendmail(1)
verwendetpostdrop(1)
nichtsmtpd(8)
Eine Möglichkeit, etwas zu erreichen, nach dem Sie suchen, besteht darin,transport(5)
das Verhalten zu manipulieren .Hinweis: Wenn Sie die Absenderadresse nicht in die Transportkarte aufnehmen, können keine Absprungnachrichten empfangen werden.
quelle
smtpd_recipient_restrictions = reject
, wird die Mail trotzdem zugestellt.transport
Erstellen Sie mit der Methode die Hash-Map mitsudo postmap /etc/postfix/transport
.