SpamAssassin 是一个开源的邮件过滤器,它使用一系列启发式测试来识别垃圾邮件。本指南将解释如何在 Ubuntu 20.04 LTS 或 21.04 上安装 SpamAssassin。
先决条件
- 一个已安装 Postfix 邮件传输代理的 Ubuntu 服务器。
如需安装Postfix 请看我上一篇文章:在 Ubuntu上安装和配置邮件服务器(Postfix)-CSDN博客
选择服务器提供商
为了本教程的演示,我将以一个具体的云服务提供商为例,展示如何进行操作。选择哪个提供商根据个人偏好和需求来决定。
以下步骤仅供参考,请根据实际需求选择配置。
购买云服务器
本示例中,我们选择了香港作为服务器区域。
点击 云产品 → 云服务器 → 立即购买
选择操作系统
在创建服务器实例时,选择 Ubuntu 24.04 作为操作系统。
连接到服务器
使用 X-shell 或偏好的 SSH 客户端,通过远程用户名和密码连接到服务器。成功连接后,将看到特定的欢迎信息,表明已成功登录。
- 创建一个具有 sudo 权限的用户。
- 确保服务器的 25 号端口已开放。
安装 SpamAssassin 流程图
以下是安装 SpamAssassin 的步骤流程图:
graph TD
A[开始] --> B[连接到服务器]
B --> C[更新系统]
C --> D[安装 SpamAssassin]
D --> E[添加 SpamAssassin 用户]
E --> F[配置 SpamAssassin]
F --> G[配置 Postfix]
G --> H[重启 Postfix 服务]
H --> I[启动 SpamAssassin 服务]
I --> J[结束]
1. 安装 SpamAssassin
- 使用 SSH 连接到服务器。
- 安装 SpamAssassin。
$ sudo apt-get update
$ sudo apt-get install spamassassin spamc -y
- 添加一个 SpamAssassin 用户并禁用登录。
$ sudo adduser spamd --disabled-login
2. 配置 SpamAssassin
为 SpamAssassin 分配 spamd
用户账户,并设置日志和默认主目录。
- 编辑配置设置。
$ sudo nano /etc/default/spamassassin
- 找到以下行并进行配置更改。
# ENABLED=1
ENABLED=0
# 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=0
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
- 编辑 Postfix 配置文件。
$ sudo nano /etc/postfix/master.cf
- 定位这些条目并添加 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
总结
现在应该能够在 Ubuntu 服务器上成功安装并运行 SpamAssassin 与 Postfix,为邮件系统提供一个额外的安全层,以减少垃圾邮件的干扰。这个组合不仅提高了邮件处理的效率,还增强了系统的安全性。