Filter spam Postfix
Spam Scanner menyaring server Postfix dalam sekitar lima menit. Spam Scanner berjalan sebagai milterMail filter: protokol dari Sendmail, juga dipakai Postfix, yang memungkinkan program terpisah memeriksa setiap pesan selama sesi SMTP., sehingga Postfix menanyakan setiap pesan kepadanya selama sesi SMTP dan dapat menolak spam sebelum menerimanya.
Instal dan jalankan#
npm install --global spamscanner
spamscanner milter --port 7831 --auth --subject-tag "[SPAM]"--auth memeriksa SPFSender Policy Framework: catatan DNS yang mencantumkan server yang diizinkan mengirim email untuk suatu domain., DKIMDomainKeys Identified Mail: tanda tangan atas sebuah pesan, diperiksa dengan kunci publik yang diterbitkan di DNS pengirim., DMARCKebijakan DNS yang memberi tahu penerima apa yang harus dilakukan ketika email yang mengaku dari suatu domain gagal dalam penyelarasan SPF dan DKIM., dan ARCAuthenticated Received Chain: tanda tangan yang membawa hasil autentikasi melewati server penerus.; --subject-tag menandai spam di subjek. Setiap pesan mendapat header X-Spam-Flag, X-Spam-Score, X-Spam-Status, dan X-Spam-Action, dan setiap header X-Spam-* yang dimasukkan pengirim dihapus terlebih dahulu.
Hubungkan Postfix#
# /etc/postfix/main.cf
smtpd_milters = inet:127.0.0.1:7831
milter_protocol = 6
milter_default_action = acceptsudo postfix reloadmilter_default_action = accept meloloskan email tanpa disaring jika milter mati; tempfail justru meminta pengirim mencoba lagi.
Tolak spam selama sesi SMTP#
spamscanner milter --port 7831 --auth --rejectPesan yang mencapai ambang tolak (15 poin) ditolak dengan 451 4.7.1 Message rejected as spam. Kode 451 bersifat sementara: pengirim menyimpan pesan dan mencoba lagi, sehingga keputusan yang salah hanya menyebabkan penundaan, bukan pesan yang hilang. Setelah hasilnya terlihat benar, --reject-code 550 membuat penolakan menjadi permanen.
Tanpa milter#
Content filter berjalan setelah Postfix menerima pesan: Postfix mengalirkannya ke spamscanner filter, yang menambahkan header lalu mengembalikannya. Tidak ada yang pernah ditolak selama sesi, dan kegagalan selalu menunda pengiriman alih-alih memantulkannya. Penyiapan content filter
Spam ke Junk#
Dengan Dovecot, sebuah aturan Sieve memindahkan email yang ditandai:
require ["fileinto"];
if header :is "X-Spam-Flag" "YES" { fileinto "Junk"; stop; }Diuji dengan Postfix sungguhan#
Tes end-to-end proyek ini menjalankan Postfix dengan milter dan content filter: hamEmail yang diinginkan: kebalikan dari spam. dikirim dengan header dan X-Spam-Flag palsu dihapus, spam ditandai, dan GTUBEGeneric Test for Unsolicited Bulk Email: string tetap yang dianggap spam oleh setiap filter spam, untuk pengujian. ditolak dengan 550 selama sesi SMTP.
Berikutnya: panduan lengkap Postfix dan Sendmail, dengan unit systemd dan INPUT_MAIL_FILTER milik Sendmail.