Benutzer-ID aus dem empfangenen Header entfernen

Benutzer-ID aus dem empfangenen Header entfernen

Beim Senden von E-Mails über PHP mail() fügt Postfix den folgenden Header hinzu:

Received: by myhost.mydomain.com (Postfix, from userid 48)
    id XXXXXXXXXXX; Sun, 20 Nov 2011 21:22:13 +0100 (CET)

Gibt es eine Möglichkeit, den Benutzer-ID-Teil zu entfernen, aber den Rest beizubehalten? Das Ergebnis lautet dann (falls korrekt):

Received: by myhost.mydomain.com (Postfix)
    id XXXXXXXXXXX; Sun, 20 Nov 2011 21:22:13 +0100 (CET)

Postfix läuft auf dem lokalen Host und wird nur zum Senden von E-Mails von PHP über die Funktion mail() verwendet.

Eine ähnliche Frage zum Entfernen des gesamten Headerswurde schon einmal gefragt, aber ich kann nicht herausfinden, wie ich den Benutzer-ID-Teil entfernen und den Rest behalten kann.

Antwort1

Ich denke, Sie können so etwas versuchen:

/etc/postfix/main.cf

header_checks = pcre:/etc/postfix/header_checks.pcre

/etc/postfix/header_checks.pcre

/^Received: by(.*) \(Postfix, from userid(.*)$/ REPLACE Received: by ${1}

Antwort2

Die erhaltenen Zeilen dürfen Sie auf keinen Fall verändern.

Sie werden in erster Linie von RFC 5321 gefordert und dürfen nicht manipuliert werden. Zweitens sind sie eine wertvolle Quelle für die Verfolgung von Missbrauch.

Angenommen, Sie versenden E-Mails nur mit PHP über Apache (Benutzer-ID 48). Was sagt es Ihnen, wenn Sie Nachrichten von der Benutzer-ID 5000 sehen? Sie haben Recht: Ein böswilliger Benutzer oder ein böswilliges Skript arbeitet verrückt. Können Sie dieses Problem nachverfolgen, wenn die Benutzer-ID entfernt wurde?

Antwort3

Jetzt können Sie nur die erste Zeile ändern. Meine Lösung ist mit regexp

/etc/postfix/main.cf

header_checks = regexp:/etc/postfix/header_checks

/etc/postfix/header_checks

/^Received: by (.*) .*Postfix, from userid [0-9]+\)\s*id ([A-F[:digit:]]+)(.*) (.*)/ REPLACE Received: by $1 (some text) id $2$3 (EEST)

Sie können das Ergebnis überprüfen (http://rubular.com/r/JH14xFTWL9)

oder

postmap -q "Received: by mail.xxxx.lt (Postfix, from userid 48) id 5F7CD1E148A Thu, 23 Oct 2014 15:55:08 +0300 (EEST)" regexp:/etc/postfix/header_checks

verwandte Informationen