Senden Sie Spam-Mails mit Postfix an einen speziellen Ordner

9

Ich habe einen Postfix-Server, auf dem amavis und SpamAssassin ausgeführt werden, um Spam zu filtern. Nachrichten, die als Spam erkannt werden, sehen bei Übermittlung an Maildir des Benutzers folgendermaßen aus:

Von tom @ tom-mint Fr 15 Mar 01:46:20 2013
Rückweg: <tom @ tom-mint>
X-Original-To: [email protected]
Geliefert an: [email protected]
X-Virus-gescannt: Debian amavisd-new bei my-server.com
X-Spam-Flag: JA
X-Spam-Score: 6.463
X-Spam-Level: ******
X-Spam-Status: Ja, Punktzahl = 6,463 tagged_above = 2 erforderlich = 6,31
    tests = [DRUGS_ERECTILE = 2.221, FH_FROMEML_NOTLD = 0.18,
    FSL_HELO_NON_FQDN_1 = 0,001, HELO_NO_DOMAIN = 0,001, RCVD_IN_PBL = 3,558,
    RDNS_DYNAMIC = 0,363, TO_NO_BRKTS_DYNIP = 0,139] autolearn = no
Datum: Fr, 15. März 2013 01:46:19 -0400
An: [email protected]
Betreff: *** SPAM *** Hallo
User-Agent: Heirloom mailx 12.5 20.06.10
Inhaltstyp: Text / Klartext; Zeichensatz = us-ascii
Von: tom @ tom-mint (Tom)
Status: RO

kaufe etwas Viagra!

Beachten Sie insbesondere den Betreff, dem vorangestellt wird ***SPAM***, und die X-Spam-Flag: YESÜberschrift.

Wie kann postfixich diese Nachrichten am besten in einem speziellen Junk-Ordner speichern?

Aus meiner Forschung geht hervor, dass ich ein anderes Mail-Zustellungs-Tool als Postfix verwenden muss, um dies zu erreichen, aber ich bin mir nicht sicher, welcher Ansatz der beste ist. Es scheint eine Menge veralteter Informationen zu geben, und ich frage mich, ob Postfix Nachrichten in einen Ordner legen kann oder nicht.

Die Mail-Verzeichnisse sind alle Maildir.

Tom Marthenal
quelle
Sieht so aus, als müsste möglicherweise etwas wie Maildrop verwendet werden . Ich bin immer noch auf der Suche nach einer Möglichkeit, dies mit dem Standard-MDA von Postfix zu tun, damit ich Aliase und andere Postfix-Funktionen mit minimalem Aufwand beibehalten kann. Ich werde meine Antwort veröffentlichen, wenn ich darauf komme.
Tom Marthenal

Antworten:

8

Die flüchtige Durchsicht der lokalen (8) lokalen Lieferagenten-Manpage von postfix zeigt - wie erwartet - keinen Hinweis auf diese Art von Funktion. Diese Art von Aufgaben wird normalerweise an procmail ausgelagert (wahrscheinlich über die Anweisung mailbox_command), die die von Ihnen beschriebene Aufgabe ausführen kann, während Sie Ihr Spülbecken nebenbei verwalten. Der Nachteil von procmail ist das Konfigurationsdateiformat, der Vorteil der Flexibilität und die Vielzahl von Beispielen, die leicht zu finden sind. Wenn in letzter Zeit etwas Besseres als procmail aufgetaucht ist, weiß ich es nicht.

Für mein Geld würde ich diesem Weg nicht folgen, selbst wenn ich den Weg finden würde, den MTA in das zu schuppen, was Sie wollen, weil diese Art von Postsortierung eine Art Balooning und keinen MTA hat (von dem ich weiß: Vielleicht kann Exchange einen guten Job machen, indem er auch ein flexibler Nachrichtenbearbeiter / Zustellungsagent ist.

Dies ist ein Procmail-Rezept, das basierend auf dem einzigen Header-Inhalt (wobei DEFAULT das Übermittlungsverzeichnis ist, häufig so etwas wie $ HOME / Mail /) das tun würde, was Sie wollen:

:0
* ^X-Spam-Flag: YES
$DEFAULT/.Spam/

Bearbeiten: (Dies setzt das Postfachformat maildir voraus, wie in einem Kommentar unten angegeben. Bei Verwendung von mbox wird der letzte Schrägstrich weggelassen.)

Alien Lebensform
quelle
$DEFAULT/ist nicht nötig. Hilfreich für die menschliche Lesbarkeit. Beachten Sie auch, dass durch Hinzufügen eines Schrägstrichs am Ende ein Maildir erstellt wird. Wenn Sie Mbox verwenden, lassen Sie den Schrägstrich weg (siehe: unix.stackexchange.com/a/132658/241396 ).
Jari Turkia
5

Wie Alien Life Form sagte, ist dies ein Job für procmail. Dies ist kein Ersatz für den lokalen Zustellungsagenten des Mailservers. Es ist ein separater Prozess, der aufgerufen wird, nachdem der MDA seine Arbeit erledigt hat.

Jeder Benutzer, der möchte, dass procmail seine E-Mails sortiert, muss eine Datei erstellen, die .forwardin seinem Ausgangsverzeichnis aufgerufen wird . Diese Datei sollte Folgendes enthalten:

"|exec /usr/local/bin/procmail || exit 75"

komplett mit dem "Schild und allem.

ALF hat bereits eine Basisdatei veröffentlicht .procmail, in der die mit Spam gekennzeichneten E-Mails in einem separaten Ordner sortiert werden.

Jenny D.
quelle
1
Bitte beachten Sie, dass in einigen Fällen procmail unter / usr / bin / procmail lebt, um herauszufinden, wo es auf Ihrem System ausgeführt wirdwhich procmail
Malfist
4

Was ist Ihr Mail Delivery Agent (siehe main.cf mailbox_command)? Wenn es sich bei dem MDA um einen Taubenschlag handelt, unterstützt er den Sieve IETF-Standard (rfc5228), der viel mehr kann als procmail, ohne mögliche Sicherheitslücken aufzudecken. Verschrauben Sie Procmail NICHT mit Postfix / Dovecot, das Sieb ist vollständig integriert. Wenn Sie Courier verwenden, ist procmail eine gute Lösung. Sie werden jedoch feststellen, dass die Sieb- / Siebprogramme von Pigeonhole schneller und sauberer sind.

Das folgende ist ein einfaches Siebskript, mit dem Sie Ihren Spam-Header erkennen und die Nachricht in den Papierkorb legen können.

require "fileinto";

if header :comparator "i;ascii-casemap" :contains "Subject" "**SPAM**"  
{
  fileinto "Trash";
  stop;
}
dturvene
quelle