Ini adalah semacam pertanyaan umum tentang pelatihan spamassassin. Saya memiliki server surat yang baru mengatur yang menyaring surat masuk melalui spamassassin. Baru-baru ini saya mendapat reservasi penerbangan yang ditandai sebagai spam (skor 5) dan ingin memberi tahu spamassassin bahwa itu bukan spam. (Mungkin melakukan ini juga akan mengirim ulang surat tanpa header spamassassin yang dimodifikasi?)
Saya sudah mencoba mencari di sekitar dan saya hanya menemukan hal-hal tentang mendapatkan spamassassin untuk menandai pesan sebagai spam (dan bukan tentang memperbaiki kesalahan positif), atau untuk orang yang menulis email - bagaimana tidak ditandai sebagai spam.
Jadi dalam hal memberikan umpan balik spamassassin pada panggilan yang salah:
Apakah ada cara untuk melakukan ini dari dalam klien email (misalnya: Thunderbird)
Apakah ada cara untuk melakukan ini melalui baris perintah di server surat?
Saya ingin membuat proses semudah mungkin, tetapi apa pun yang menyelesaikan pekerjaan.
Detail dari SpamAssassin tentang email:
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
Jelas penyebab utamanya adalah baris subjek all-caps SUBJ_ALL_CAPS dan MIME_HTML_ONLY (saya kira, tidak ada alternatif teks).
Email itu untuk konfirmasi pemesanan penerbangan dan subjeknya tampak seperti ini:
Subject: JENNINGS/NICHOLAS KOSSOW MR 24 JAN MOF DPS
Tajuk:
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
sumber
Jawaban:
Ada saran khusus dan umum yang mungkin berguna dalam kasus ini.
Spesifik
Masalah mendasar di sini adalah bahwa Garuda Airlines, memberkati kaus kaki katun kecil mereka, mengirim email konfirmasi yang mengandung banyak ciri khas spam. Baris subjeknya SANGAT SHOUTY, mereka mengirim email HTML saja yang berisi cukup banyak gambar dan teks yang sangat sedikit, amplop-sender (
[email protected]
) jelas sekali bukan mesin yang dibangun mesin, dan penyedia email untuk sistem konfirmasi mereka (outsourcing) (amadeus.com) memiliki catatan SPF yang tidak berguna (terlepas dari semua saran kami yang bertentangan , beberapa orang keliru berpikir ada nilai dalam catatan yang mencantumkan beberapa sistem dan tujuan pengiriman mereka~all
).Tidak banyak yang dapat Anda lakukan tentang sebagian besar dari ini. Jika Anda ingin memastikan ini melewati, garis di Anda
~/.spamassassin/user_prefs
yang mengatakanwhitelist_from *@amadeus.com
akan menyampaikan pesan-pesan ini kepada Anda. Melangkah lebih jauh dan merusak bobot aturan yang dipicu mungkin merupakan ide yang buruk. Aturan SpamAssassin (SA) dibuat dengan menyaring banyak sekali spam, dan mencari tahu karakteristik apa yang berlaku untuk sebagian besar; Anda cenderung membuka INBOX Anda lebih dari sekadar email konfirmasi Garuda dengan mematikan aturan itu.Umum
Ini persis seperti situasi yang ditangani mesin Bayesian dengan baik. Ini dirancang untuk menyaring email yang tidak memicu aturan lain tetapi berisi hal-hal yang tidak ingin Anda baca, sementara membantu melalui email yang memicu aturan-aturan itu tetapi berisi hal-hal yang ingin Anda baca.
IIRC, mesin tidak akan melakukan apa pun jika Anda tidak melatihnya. Cara termudah untuk melatihnya adalah dengan memelihara dua folder, disebut (katakanlah)
spam
danham
. Kespam
Anda menempatkan salinan email yang berhasil masuk ke INBOX Anda, tetapi Anda tidak ingin; keham
Anda menempatkan salinan email yang jatuh busuk dari SA tapi kau inginkan, seperti email konfirmasi ini.Kemudian setiap malam (atau lebih) Anda memiliki tugas cron yang mengatakan
memodifikasi jalur yang sesuai. Seiring waktu, ini akan mengajarkan mesin apa yang Anda lakukan, dan tidak, suka membaca. Karena skor Bayesian yang tinggi dapat menambahkan +4,0 poin ke skor SA email, sedangkan yang rendah dapat mengurangi 1,9, mesin yang terlatih dengan baik dapat benar-benar membantu SA membedakan apa yang ingin Anda baca dari apa yang tidak Anda baca - tetapi Anda harus Berusahalah untuk mengajarkannya .
sumber
sa-learn --ham ...
perintah itu, dikatakan ada 0 email yang bisa dipelajari:Learned tokens from 0 message(s) (0 message(s) examined)
... Saya mencoba mengaitkan.eml
lampiran yang dimasukkan SpamAsssasin ke email asli, ke dalam folder Ham langsung di server, tapi tetap saja, katanya menemukan 0 pesan untuk diproses ...report_safe 1
pengaturan.sa-learn
. Jika itu terlalu menyakitkan, matikanreport_safe
. Merupakan ide yang baik untuk melatih pembelajar ham dengan hal-hal lain selain hal-hal yang secara keliru diidentifikasi sebagai spam, karena asumsi filter Bayesian terpisah dari SA secara keseluruhan. Saya memberi makan saya semua surat pribadi yang saya terima, karena itulah hal yang paling ingin saya baca.Anda tampaknya menggunakan dovecot. Saya telah menghabiskan beberapa minggu untuk mencari tahu integrasi yang mulus, yang memungkinkan pengguna untuk dengan mudah melatih filter spam di sisi server tanpa harus menyalin email.
Bagian kuncinya adalah plugin Antispam Dovecot. The antispam Plugin memicu pada langkah operasi antara tiga kelompok folder:
trash
,unsure
danspam
. Khususnya, ketika transisi dari apa pun (tetapispam
) kespam
terdeteksi, tindakan pembelajaran spam dipicu dan ketika transisi darispam
keunsure
terdeteksi, tindakan pembelajaran ham dipicu.Ini mendukung berbagai pelatihan backends. Yang sederhana adalah
mailtrain
, yang hanya menjalankan perintah dan menempatkan surat pada input standar. Konfigurasi untuk itu mungkin terlihat seperti ini:Bersama dengan
/usr/local/bin/sa-learn-stdin.sh
:Konfigurasi mengatakan "Untuk belajar sebagai spam, jalankan
/usr/local/bin/sa-learn-stdin.sh -L spam
dan pelajari sebagai ham, jalankan/usr/local/bin/sa-learn-stdin.sh -L ham
." Argumen dikonfigurasikan olehantispam_mail_spam
,antispam_mail_notspam
danantispam_mail_sendmail_args
.Ini sudah cukup bagus. Jika Anda dapat mengonfigurasi klien Anda untuk memindahkan email yang Anda tandai sebagai spam ke folder spam, ini sudah merupakan integrasi yang cukup otomatis antara klien dan server. Demikian juga, jika Anda mengonfigurasi server untuk menyimpan email yang diklasifikasikan sebagai spam dalam folder spam saat pengiriman (misalnya menggunakan Saringan), pesan akan dipelajari sebagai ham ketika pengguna memindahkannya dari folder Spam.
Untuk meningkatkan integrasi dengan Thunderbird dan KMail, saya menulis tambalan untuk antispam , yang sayangnya tidak mendapatkan umpan balik dari hulu; gunakan dengan risiko Anda sendiri .
Ini menambahkan opsi konfigurasi ke antispam, yang dapat dengan mudah ditambahkan ke
plugin
bagian dalam konfigurasi dovecot:(Kutipan itu penting untuk mencegah
$
dari melakukan sesuatu yang lucu.)Dengan tambalan, antispam juga akan memicu tindakan pembelajaran jika pesan mendapat bendera spam atau kehilangan semua bendera spamnya. Bendera adalah fitur IMAP dan digunakan oleh klien untuk menyimpan bit sisi server informasi. Ternyata, Thunderbird dan KMail menggunakan bendera ini untuk menyimpan status Sampah / Spam pesan.
The
Junk
bendera diatur oleh Thunderbird bila Anda menandai pesan sebagai sampah. Demikian juga untuk$JUNK
bendera dan KMail. Dengan demikian, dengan konfigurasi ini, Anda dapat memicu pembelajaran sisi server dengan menandai email sebagai Sampah / Non-sampah di Thunderbird di KMail.Klien lain, seperti K9-Mail, masih bermain dengan baik, karena defaultnya adalah memindahkan sampah di folder Spam, yang juga akan memicu antispam.
Anda dapat menerapkan fungsi yang sama, saya pikir, di IMAPSieve . Ini ada di TODO saya, tapi sayangnya saya saat ini tidak memiliki lingkungan siap-pengujian dengan dovecot yang cukup baru.
sumber