怎样在 Ubuntu 上使用 Postfix 安装 SpamAssassin

SpamAssassin 是一种开源邮件过滤器,它使用广泛的启发式测试来识别垃圾邮件。 本指南解释了如何在 Ubuntu 20.04 LTS 或 21.04 上安装 SpamAssassin。

先决条件

在 Vultr 部署一个 Ubuntu 云服务器实例。 安装 Postfix 邮件传输代理。 创建一个 sudo 用户。 验证服务器已打开出站端口 25。

1.安装SpamAssassin

使用 SSH 连接到您的服务器。

安装垃圾邮件杀手。

$ sudo apt-get update
$ sudo apt-get install spamassassin spamc -y

添加 SpamAssassin 用户并禁用登录。

$ sudo adduser spamd --disabled-login

2.配置SpamAssassin

分配 spamd 用户帐户到 SpamAssassin 并设置日志和默认主目录。

编辑配置设置。

$ sudo nano /etc/default/spamassassin

找到这一行:

ENABLED=1

通过删除取消注释 # 并将值从 10.

ENABLED=0

找到这一行:

OPTIONS="--create-prefs --max-children 5 --helper-home-dir"

将其更改为包含 SpamAssassin 用户帐户和日志文件目录。

OPTIONS="--create-prefs --max-children 5 --username spamd --helper-home-dir /home/spamd/ -s /home/spamd/spamd.log"

找到这一行:

CRON=0

更改值从 01.

CRON=1

保存并关闭文件。

备份 SpamAssassin 本地配置文件。

$ sudo mv /etc/spamassassin/local.cf  /etc/spamassassin/local.cf.bk

创建一个新的 SpamAssassin 本地配置文件。

$ sudo nano /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_dcc                 0
use_pyzor               0
ifplugin Mail::SpamAssassin::Plugin::Shortcircuit
endif

保存并关闭文件。

3.配置后缀

编辑您的 Postfix 配置文件。

$ sudo nano /etc/postfix/master.cf

找到这些条目。

smtp      inet  n       -       y       -       -       smtpd
#smtp      inet  n       -       y       -       1       postscreen
#smtpd     pass  -       -       y       -       -       smtpd
#dnsblog   unix  -       -       y       -       0       dnsblog
#tlsproxy  unix  -       -       y       -       0       tlsproxy
submission inet n       -       y       -       -       smtpd

以下 smtp 配置,添加一个 SpamAssassin 内容过滤器。

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}

保存并关闭文件。

重新启动 Postfix 并启用 SpamAssassin 在系统启动时运行。

$ sudo systemctl restart postfix.service
$ sudo systemctl enable spamassassin.service
$ sudo systemctl start spamassassin.service 

更多信息

要了解有关 SpamAssassin 的更多信息,请 看官网.

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com