Eine flüchtige Lektüre der Manpage local(8) local delivery agent von postfix zeigt keinen Hinweis auf diese Art von Fähigkeit - wie erwartet. Diese Art von Aufgaben wird normalerweise an procmail ausgelagert (wahrscheinlich durch die mailbox_command-Direktive), das die von Ihnen beschriebene Aufgabe erledigen kann, während es nebenbei Ihre Küchenspüle verwaltet. Die Kehrseite von procmail ist das Konfigurationsdateiformat, die Kehrseite die Flexibilität und die Tonnen von Beispielen, die leicht zu finden sind. Ob in letzter Zeit etwas Besseres als Procmail aufgetaucht ist, weiß ich nicht.
Für mein Geld würde ich jedoch, selbst wenn ich den Weg finden würde, den MTA zu beschlagen, indem ich das tue, was Sie wollen, nicht diesen Weg gehen, weil diese Art von Postsortier-Dingen eine Art Ballon haben und keinen MTA (den ich kenne:vielleicht Exchange tut, wer weiß) kann einen guten Job machen, indem es auch ein flexibler Message Handler/Delivery Agent ist.
Dies ist ein Procmail-Rezept, das basierend auf dem Inhalt des Headers (wobei DEFAULT das Auslieferungsverzeichnis ist, oft so etwas wie $HOME/Mail/) tun würde, was Sie wollen:
:0
* ^X-Spam-Flag: YES
$DEFAULT/.Spam/
Bearbeiten: (Dies setzt das Maildir-Postfachformat voraus, wie in einem Kommentar unten angegeben. Lassen Sie den abschließenden Schrägstrich weg, wenn Sie mbox verwenden)
Wie Alien Life Form sagte, ist dies eine Aufgabe für procmail. Das ist kein Ersatz für den lokalen Zustellungsagenten des Mailservers; es ist ein separater Prozess, der after aufgerufen wird Die MDA hat ihre Arbeit getan.
Jeder Benutzer, der procmail seine Mail sortieren lassen möchte, muss eine Datei namens .forward
erstellen in ihrem Heimatverzeichnis. Diese Datei sollte Folgendes enthalten:
"|exec /usr/local/bin/procmail || exit 75"
mit "
abschließen Zeichen und alles.
ALF hat bereits einen einfachen .procmail
gepostet Datei, die mit Spam markierte E-Mails in einen separaten Ordner sortiert.
Was ist Ihr Mail Delivery Agent (siehe main.cf mailbox_command)? Wenn der MDA dovecot ist, unterstützt er den Sieve-IETF-Standard (rfc5228), der viel mehr kann als procmail, ohne mögliche Sicherheitslücken aufzudecken. Procmail NICHT an Postfix/Dovecot anschrauben, Sieb ist voll integriert. Wenn Sie Courier verwenden, ist procmail eine gute Lösung. Sie werden jedoch feststellen, dass die Programme sieve/sievec von Pigeonhole schneller und sauberer sind.
Das Folgende ist ein einfaches Sieve-Skript, um Ihren Spam-Header zu erkennen und die Nachricht in den Papierkorb zu verschieben.
require "fileinto";
if header :comparator "i;ascii-casemap" :contains "Subject" "**SPAM**"
{
fileinto "Trash";
stop;
}