Kirim email spam ke folder khusus menggunakan postfix

9

Saya memiliki server postfix yang menjalankan amavis dan SpamAssassin untuk membantu menyaring spam. Pesan yang terdeteksi sebagai spam terlihat seperti ini ketika dikirim ke Maildir pengguna:

Dari tom @ tom-mint Fri Mar 15 01:46:20 2013
Return-Path: <tom @ tom-mint>
X-Original-To: [email protected]
Dikirimkan Ke: [email protected]
X-Virus-Scan: Debian amavisd-new di my-server.com
X-Spam-Bendera: YA
X-Spam-Score: 6.463
X-Spam-Level: ******
X-Spam-Status: Ya, skor = 6.463 tagged_above = 2 diperlukan = 6.31
    tes = [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 = tidak
Tanggal: Jum, 15 Mar 2013 01:46:19 -0400
Kepada: [email protected]
Subjek: *** SPAM *** halo
User-Agent: Heirloom mailx 12.5 6/20/10
Jenis-Konten: teks / polos; charset = us-ascii
Dari: tom @ tom-mint (Tom)
Status: RO

belilah viagra!

Perhatikan secara khusus subjek, yang diawali dengan ***SPAM***, dan X-Spam-Flag: YESheader.

Apa cara terbaik untuk mengonfigurasi postfixuntuk menyimpan pesan-pesan ini di folder sampah khusus?

Dari penelitian saya, sepertinya saya akan perlu menggunakan alat pengiriman surat yang berbeda dari postfix untuk menyelesaikan ini, tetapi saya tidak yakin pendekatan apa yang terbaik. Tampaknya ada banyak informasi tanggal, dan saya bertanya-tanya apakah postfix mampu menempatkan pesan ke folder atau tidak.

Direktori surat semuanya Maildir.

Tom Marthenal
sumber
Sepertinya mungkin perlu menggunakan sesuatu seperti maildrop . Saya masih mencari cara untuk melakukan ini dengan MDA default Postfix sehingga saya dapat menyimpan alias dan fitur postfix lainnya dengan masalah minimal. Saya akan memposting jawaban saya ketika saya datang dengan itu.
Tom Marthenal

Jawaban:

8

Pembacaan sepintas halaman manual agen pengiriman lokal postfix lokal (8) tidak menunjukkan petunjuk jenis kemampuan ini - seperti yang diharapkan. Tugas-tugas semacam ini biasanya diturunkan ke procmail (mungkin melalui perintah mailbox_command) yang dapat menangani tugas yang Anda uraikan sambil mengelola wastafel dapur Anda di samping. Kelemahan dari procmail adalah format file config, terbalik fleksibilitas dan banyak contoh yang mudah ditemukan. Jika sesuatu yang lebih baik daripada procmail baru-baru ini muncul, saya tidak tahu.

Akan tetapi, untuk uang saya, bahkan jika saya menemukan cara untuk menyekop MTA dalam melakukan apa yang Anda inginkan, saya tidak akan mengikuti jalan itu, karena hal-hal semacam penyortiran surat ini memiliki cara balooning dan tidak ada MTA (yang saya tahu: mungkin pertukaran tidak, siapa tahu) dapat melakukan pekerjaan dengan baik juga menjadi penangan pesan / agen pengiriman yang fleksibel.

Ini adalah resep procmail yang akan melakukan apa yang Anda inginkan berdasarkan pada isi tajuk tunggal (di mana DEFAULT adalah direktori pengiriman, sering kali seperti $ HOME / Mail /):

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

Sunting: (Ini mengasumsikan format kotak surat maildir, seperti yang tercantum dalam komentar di bawah. Abaikan slash terakhir jika menggunakan mbox)

Bentuk Kehidupan Alien
sumber
$DEFAULT/tidak perlu. Bermanfaat untuk keterbacaan manusia. Perhatikan juga, bahwa menambahkan garis miring di bagian akhir akan membuat Maildir, jika menggunakan Mbox maka hapus garis miring (lihat: unix.stackexchange.com/a/132658/241396 ).
Jari Turkia
5

Seperti yang dikatakan Alien Life Form, ini adalah pekerjaan untuk procmail. Itu bukan pengganti agen pengiriman lokal server surat; ini adalah proses terpisah yang akan dipanggil setelah MDA selesai mengerjakannya.

Setiap pengguna yang ingin memiliki procmail mengurutkan surat mereka perlu membuat file yang disebut .forwarddi direktori home mereka. File itu harus berisi yang berikut:

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

lengkap dengan "tanda dan semuanya.

ALF telah memposting .procmailfile dasar yang akan mengurutkan email yang ditandai dengan spam ke dalam folder terpisah.

Jenny D
sumber
1
Harap dicatat bahwa dalam beberapa kasus procmail tinggal di / usr / bin / procmail, untuk mencari tahu di mana itu pada sistem Anda dijalankanwhich procmail
Malfist
4

Apa agen pengiriman surat Anda (lihat main.cf mailbox_command)? Jika MDA adalah dovecot, ia mendukung standar Sieve IETF (rfc5228), yang dapat melakukan lebih banyak daripada procmail tanpa memaparkan kemungkinan celah keamanan. JANGAN lari pada procmail ke postfix / dovecot, ayakan sepenuhnya terintegrasi. Jika Anda menggunakan Courier, maka procmail adalah solusi yang oke. Namun, Anda akan menemukan program saringan / sievec dari Pigeonhole menjadi lebih cepat dan lebih bersih.

Berikut ini adalah skrip ayakan sederhana untuk mengenali tajuk spam Anda dan memasukkan pesan ke file Trash.

require "fileinto";

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