在 Ubuntu\Debian 邮件服务器上为 Postfix 服务设置 spamassassin 反垃圾邮件服务,并将电子邮件移动到垃圾邮件文件夹。 此配置允许您通过训练过滤器和自动移动邮件来轻松处理邮件。
本指南假定您已经配置了邮件服务器本身并且需要配置垃圾邮件过滤器。 可以在此处找到有关设置邮件服务器的更多信息:
您还可以订购带有预配置操作系统的 VPS,并以 VPS 服务器的价格获得现成的公司邮件服务器。
1. 安装服务 spamassassin
apt-get install spamassassin spamc
adduser spamd --disabled-login
2. 让我们设置服务
vi /etc/default/spamassassin
查找行:
OPTIONS="--create-prefs --max-children 5 --helper-home-dir"
并替换为:
OPTIONS="--create-prefs --max-children 5 --username spamd --helper-home-dir /home/spamd/ -s /home/spamd/spamd.log"
在文件的最后,包括 cron:
CRON=1
让我们保存文件。 (:wq)
3. 过滤器设置:
mv /etc/spamassassin/local.cf /etc/spamassassin/local.cf.bk
vi /etc/spamassassin/local.cf
rewrite_header Subject ***** SPAM SCORE *****
report_safe 0
required_score 5.0
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1
skip_rbl_checks 0
use_razor2 0
use_pyzor 0
ifplugin Mail::SpamAssassin::Plugin::Shortcircuit
endif
让我们保存文件。
4. 服务设置 Postfix
找到 smtp 行并添加以下配置:
vi /etc/postfix/master.cf
smtp inet n - y - - smtpd -o content_filter=spamassassin
spamassassin unix - n n - - pipe
user=spamd argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}
保存文件并重启服务
systemctl restart postfix.service
systemctl enable spamassassin.service
systemctl start spamassassin.service
让我们通过向邮箱发送一封包含此文本的信件来检查服务的运行情况:
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
5. 设置将垃圾邮件移动到垃圾邮件文件夹。
安装和配置 Sieve 服务
apt-get install dovecot-sieve dovecot-managesieved
vi /etc/dovecot/conf.d/90-sieve.conf
sieve = /etc/dovecot/dovecot.sieve
让我们保存文件。
让我们创建一个文件:
vi /etc/dovecot/dovecot.sieve
require "fileinto";
if header :contains "SPAM" "YES" {
fileinto "Junk";
}
if header :contains "X-Spam-Flag" "YES" {
fileinto "Junk";
}
让我们保存文件。
将配置添加到文件末尾:
vi /etc/dovecot/dovecot.conf
service stats {
unix_listener stats-reader {
user = vmail
group = vmail
mode = 0660
}
unix_listener stats-writer {
user = vmail
group = vmail
mode = 0660
}
}
让我们保存文件。
让我们将配置添加到文件中,使该行看起来像这样:
vi /etc/dovecot/conf.d/15-lda.conf
protocol lda {
mail_plugins = $mail_plugins sieve
}
让我们将配置添加到文件中,使该行看起来像这样:
vi /etc/dovecot/conf.d/10-director.conf
protocol lmtp {
mail_plugins = $mail_plugins sieve
}
让我们重新启动服务:
systemctl start spamassassin.service
systemctl restart postfix.service
现在,所有标记为垃圾邮件的电子邮件都会出现在垃圾邮件文件夹中。