在 Debian 上配置“邮件过滤”通常涉及 MTA(邮件传输代理)+ 过滤工具。下面我按常见场景给你一个完整、可落地的配置思路,从简单到高级,你可以按需要选用。
| 需求 | 推荐方案 |
|---|---|
| 只过滤垃圾邮件 | SpamAssassin |
| 需要病毒扫描 | ClamAV |
| 基于规则的邮件过滤 | Sieve(推荐) |
| 使用 Postfix + 过滤 | Postfix + SpamAssassin |
| 全功能邮件服务器 | Postfix + Dovecot + Sieve + SpamAssassin |
sudo apt update
sudo apt install postfix
安装时选择:
example.com)检查状态:
systemctl status postfix
sudo apt install spamassassin spamc
编辑:
sudo nano /etc/default/spamassassin
修改:
ENABLED=1
CRON=1
sudo systemctl enable spamassassin
sudo systemctl start spamassassin
编辑 Postfix 主配置:
sudo nano /etc/postfix/master.cf
添加或修改:
smtp inet n - y - - smtpd
-o content_filter=spamassassin
spamassassin unix - n n - - pipe
user=debian-spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
重载 Postfix:
sudo systemctl reload postfix
✅ 邮件将被打分,垃圾邮件会带 X-Spam-* 头。
sudo apt install clamav clamav-daemon
sudo systemctl enable clamav-daemon
sudo systemctl start clamav-daemon
可与 amavisd-new 配合使用(稍复杂,适合企业环境)。
sudo apt install dovecot-core dovecot-imapd dovecot-sieve dovecot-managesieved
编辑:
sudo nano /etc/dovecot/conf.d/90-sieve.conf
示例:
plugin {
sieve = ~/.dovecot.sieve
}
创建:
nano ~/.dovecot.sieve
require ["fileinto"];
if header :contains "X-Spam-Flag" "YES" {
fileinto "Junk";
}
编译:
sievec ~/.dovecot.sieve
✅ 垃圾邮件自动进 Junk 文件夹
发送测试邮件后检查:
grep -i spam /var/log/mail.log
或查看邮件头:
X-Spam-Status: Yes
| 文件 | 作用 |
|---|---|
/etc/postfix/main.cf |
Postfix 主配置 |
/etc/postfix/master.cf |
过滤管道 |
/etc/spamassassin/ |
垃圾邮件规则 |
/etc/dovecot/ |
Sieve 规则 |
/var/log/mail.log |
排错 |
✅ 最稳定方案
Postfix + Dovecot + Sieve + SpamAssassin
✅ 企业级
Postfix + Amavis + SpamAssassin + ClamAV
你可以告诉我:
我可以直接给你一份 可复制粘贴的完整配置文件。