Dies ist eine Art allgemeine Frage zum Training von Spamassassin. Ich habe einen neu eingerichteten Mailserver, der eingehende E-Mails über Spamassassin filtert. Ich habe kürzlich eine Flugreservierung als Spam markiert (Punktzahl 5) und möchte Spamassassin mitteilen, dass es sich nicht um Spam handelt. (Wenn Sie dies tun, wird die E-Mail möglicherweise auch ohne die geänderten Spamassassin-Header erneut gesendet?)
Ich habe versucht, mich umzusehen, und finde nur Dinge, bei denen es darum geht, Spamassistenten dazu zu bringen, Nachrichten als Spam zu kennzeichnen (und nicht darum, Fehlalarme zu beheben), oder um Leute, die E-Mails schreiben - wie man nicht als Spam gekennzeichnet wird.
Um Spamassassin Feedback zu falschen Anrufen zu geben:
Gibt es eine Möglichkeit, dies von einem E-Mail-Client aus zu tun (zum Beispiel: Thunderbird)?
Gibt es eine Möglichkeit, dies über die Befehlszeile auf dem Mailserver zu tun?
Ich möchte den Prozess so flüssig wie möglich gestalten, aber was auch immer erledigt wird.
Details von SpamAssassin bezüglich der E-Mail:
0.0 FSL_HELO_NON_FQDN_1 No description available.
0.6 HK_RANDOM_ENVFROM Envelope sender username looks random
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [82.150.225.129 listed in list.dnswl.org]
-0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [82.150.225.129 listed in wl.mailspike.net]
0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different
1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail)
1.6 SUBJ_ALL_CAPS Subject is all capitals
1.1 MIME_HTML_ONLY BODY: Message only has text/html MIME parts
0.7 HTML_IMAGE_ONLY_20 BODY: HTML: images with 1600-2000 bytes of words
0.0 HTML_MESSAGE BODY: HTML included in message
-0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay lines
0.0 T_REMOTE_IMAGE Message contains an external image
Offensichtlich sind die Hauptverantwortlichen die Betreffzeile SUBJ_ALL_CAPS und MIME_HTML_ONLY (ich denke, keine Textalternative).
Die E-Mail war für eine Flugbuchungsbestätigung und der Betreff sah folgendermaßen aus:
Subject: JENNINGS/NICHOLAS KOSSOW MR 24 JAN MOF DPS
Überschriften:
X-Envelope-From: <[email protected]>
X-Envelope-To: <[email protected]>
Received: from mail1.amadeus.net (unknown)
by 147-49-15-51.rev.cloud.scaleway.com(Postfix 3.1.0/8.13.0) with SMTP id unknown
Fri, 20 Jan 2017 07:55:10 +0000
(envelope-from <[email protected]>
Received: from obeap115 (nat-dns-mnp.amadeus.net [82.150.225.129])
by mail1.amadeus.net (Postfix) with ESMTP id 3F7A9200042
for <[email protected]>; Fri, 20 Jan 2017 07:55:10 +0000 (GMT)
From: [email protected]
TO: [email protected]
Message-ID: <CTS/GA/C50D54421A07/[email protected]>
FND-Request-ID: <CTS/GA/C50D54421A07/[email protected]>
Job-ID: 1
Subject: JENNINGS/NICHOLAS KOSSOW MR 24 JAN MOF DPS
Date: Fri, 20 Jan 2017 07:55:09 +0000
Content-Type: multipart/mixed;
boundary="----=_Part_191904_1900935199.1484898909762"
MIME-Version: 1.0
quelle
Antworten:
Es gibt sowohl spezifische als auch allgemeine Hinweise, die in diesem Fall hilfreich sein können.
Spezifisch
Das Grundproblem hierbei ist, dass Garuda Airlines, die ihre kleinen Baumwollsocken segnen, Bestätigungs-E-Mails senden, die viele der Kennzeichen von Spam tragen. Die Betreffzeile ist SEHR SCHNELL, sie senden nur HTML-E-Mails, die sehr viele Bilder und sehr wenig Text enthalten, der Umschlagsender (
[email protected]
) ist ganz klar eine maschinell hergestellte Nonce und der E-Mail-Anbieter für sein (ausgelagertes) Bestätigungssystem (amadeus.com) hat einen unbrauchbaren SPF-Datensatz (trotz aller gegenteiligen Ratschläge denken einige Leute fälschlicherweise, dass ein Datensatz einen Wert hat, in dem einige ihrer Sendesysteme und -enden aufgelistet sind~all
).Gegen das meiste kann man nicht viel tun. Wenn Sie eine Zeile in der Sie dieser Durchkommen , sein wollen ,
~/.spamassassin/user_prefs
das sagtwhitelist_from *@amadeus.com
diese Nachrichten durch Sie erhalten. Es ist wahrscheinlich eine schlechte Idee, weiter zu gehen und die Gewichte der ausgelösten Regeln zu manipulieren. Der SpamAssassin-Regelsatz (SA-Regelsatz) wird erstellt, indem eine große Menge von Spam gefiltert wird und herausgefunden wird, welche Eigenschaften für den größten Teil des Regelsatzes gelten. Sie können Ihren Posteingang wahrscheinlich nicht nur für Garuda-Bestätigungs-E-Mails öffnen, indem Sie diese Regeln deaktivieren.Allgemeines
Dies ist genau die Art von Situation, mit der der Bayes-Motor gut zurechtkommt. Es ist so konzipiert , E - Mail , um herauszufiltern , die nicht die anderen Regeln auslöst , sondern enthält Material , das Sie, gleichzeitig dazu beiträgt , durch E - Mail nicht lesen wollen , dass diese Regeln auslöst , sondern enthält Material , das Sie nicht lesen wollen.
IIRC, der Motor macht nichts, wenn Sie es nicht trainieren. Am einfachsten trainieren Sie es, indem Sie zwei Ordner namens (say)
spam
und pflegenham
. Inspam
Sie legen Kopien von E-Mails, die es in Ihren Posteingang geschafft haben, aber Sie wollten nicht; Gebenham
Sie Kopien von E-Mails ein, die SA-Verstößen zum Opfer gefallen sind, die Sie jedoch wollten, z. B. diese Bestätigungs-E-Mail.Dann haben Sie jeden Abend (oder so) einen Cronjob, der besagt
Ändern Sie die Pfade entsprechend. Mit der Zeit lehrt dies den Motor, was Sie gerne lesen und was nicht. Da eine hohe Bayesian Punktzahl +4,0 Punkte auf einen SA E-Mail - Score hinzufügen kann, während ein niedriger ein 1,9, ein gut ausgebildeter Motor kann wirklich subtrahieren kann helfen , SA unterscheiden , was Sie aus lesen mögen , was Sie nicht tun - aber Sie müssen Gib dir die Mühe, es zu lehren .
quelle
sa-learn --ham ...
Befehl, sie sagt , es 0 E - Mails gefunden zu lernen:Learned tokens from 0 message(s) (0 message(s) examined)
... Ich habe versucht , die catting.eml
Befestigung dass SpamAsssasin die ursprüngliche E - Mail setzen in, in den Ham - Ordner direkt auf dem Server, aber immer noch sagt, es findet 0 Nachrichten zu verarbeiten ...report_safe 1
Einstellung zu tun habe .sa-learn
. Wenn Ihnen das zu weh tut, schalten Sie abreport_safe
. Es ist eine gute Idee, den Schinkenlerner mit anderen Dingen zu schulen, abgesehen von Dingen, die fälschlicherweise als Spam identifiziert wurden, da die Annahmen des Bayes'schen Filters von denen der SAs als Ganzes verschieden sind. Ich füttere meine ganze persönliche Post, die ich erhalte, denn das ist das Zeug, das ich am liebsten lesen möchte.Sie scheinen Taubenschlag zu benutzen. Ich habe einige Wochen damit verbracht, eine reibungslose Integration zu finden, mit der Benutzer die serverseitigen Spam-Filter auf einfache Weise trainieren können, ohne E-Mails kopieren zu müssen .
Der Schlüssel ist das Antispam Dovecot Plugin. Die Anti - Spam - Plugin Trigger für Schritt Operationen zwischen drei Ordnergruppen:
trash
,unsure
undspam
. Insbesondere wenn ein Übergang von etwas (außerspam
) zuspam
erkannt wird, wird eine Spam-Lernaktion ausgelöst, und wenn ein Übergang vonspam
zuunsure
erkannt wird, wird eine Ham-Lernaktion ausgelöst.Es unterstützt verschiedene Trainings-Backends. Ein einfaches ist
mailtrain
, das einfach einen Befehl ausführt und die Mail auf Standardeingabe setzt. Eine Konfiguration dafür könnte so aussehen:Zusammen mit
/usr/local/bin/sa-learn-stdin.sh
:Die Konfiguration lautet "Als Spam lernen, laufen
/usr/local/bin/sa-learn-stdin.sh -L spam
und als Schinken lernen, laufen/usr/local/bin/sa-learn-stdin.sh -L ham
". Die Argumente werden mitantispam_mail_spam
,antispam_mail_notspam
und konfiguriertantispam_mail_sendmail_args
.Das ist schon ziemlich nett. Wenn Sie Ihren Client so konfigurieren können, dass als Spam markierte E-Mails in den Spam-Ordner verschoben werden, ist dies bereits eine ziemlich automatische Integration zwischen Client und Server. Wenn Sie den Server so konfigurieren, dass bei der Zustellung als Spam klassifizierte E-Mails im Spam-Ordner gespeichert werden (z. B. mithilfe von Sieve), wird die Nachricht als Ham erkannt, wenn der Benutzer sie aus dem Spam-Ordner verschiebt.
Um die Integration mit Thunderbird und KMail zu verbessern, habe ich einen Patch für Antispam geschrieben , der leider kein Feedback vom Upstream erhalten hat. Benutzung auf eigenes Risiko .
Es fügt eine Konfigurationsoption zu Antispam hinzu, die einfach dem
plugin
Abschnitt in der Taubenschlag-Konfiguration hinzugefügt werden kann :(Die Anführungszeichen sind wichtig, um zu verhindern, dass
$
etwas Lustiges passiert.)Mit dem Patch löst Antispam auch eine Lernaktion aus, wenn eine Nachricht ein Spam-Flag erhält oder alle Spam-Flags verliert. Flags sind eine IMAP-Funktion und werden von Clients zum Speichern von Informationen auf der Serverseite verwendet. Es stellt sich heraus, dass Thunderbird und KMail diese Flags verwenden, um den Junk / Spam-Status von Nachrichten zu speichern.
Das
Junk
Flag wird von Thunderbird gesetzt, wenn Sie eine Nachricht als Junk markieren. Ebenso für die$JUNK
Flagge eine KMail. Mit dieser Konfiguration können Sie das serverseitige Lernen auslösen, indem Sie E-Mails in Thunderbird in KMail als Junk / NonJunk kennzeichnen.Andere Clients, wie z. B. K9-Mail, spielen immer noch gut mit, da standardmäßig Junk-E-Mails in den Spam-Ordner verschoben werden, auf die sich auch Antispam auswirkt.
Sie können die gleiche Funktionalität in IMAPSieve implementieren . Dies ist auf meinem TODO, aber leider habe ich derzeit keine testfertige Umgebung mit einem ausreichend aktuellen Dovecot.
quelle