在 Debian 上搭建邮件服务器后,防垃圾邮件(Anti-Spam)是必须做的一步。下面给你一个从基础到进阶、可落地的方案,适合生产环境。
推荐组合(最常用、稳定):
sudo apt update
sudo apt install postfix dovecot-core dovecot-imapd spamassassin clamav postgrey
在域名 DNS 添加:
example.com. IN TXT "v=spf1 mx -all"
含义:只允许你自己的邮件服务器发信。
安装并配置 OpenDKIM:
sudo apt install opendkim opendkim-tools
生成密钥:
opendkim-genkey -s mail -d example.com
DNS 添加:
mail._domainkey.example.com TXT "v=DKIM1; k=rsa; p=公钥内容"
Postfix 配置:
smtpd_recipient_restrictions =
permit_sasl_authenticated,
reject_unauth_destination,
check_recipient_access hash:/etc/postfix/recipient_access
DNS 添加:
_dmarc.example.com TXT "v=DMARC1; p=reject; rua=mailto:dmarc@example.com"
编辑 /etc/postfix/main.cf:
smtpd_helo_required = yes
smtpd_helo_restrictions =
permit_mynetworks,
reject_invalid_helo_hostname,
reject_non_fqdn_helo_hostname
smtpd_sender_restrictions =
reject_unknown_sender_domain
smtpd_recipient_restrictions =
permit_sasl_authenticated,
reject_unauth_destination,
reject_invalid_hostname,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
check_recipient_access hash:/etc/postfix/recipient_access
效果非常明显,能挡掉 30%~50% 垃圾
sudo apt install postgrey
Postfix 加入:
smtpd_recipient_restrictions =
check_policy_service inet:127.0.0.1:10023
编辑 /etc/default/spamassassin:
ENABLED=1
CRON=1
启动:
sudo systemctl enable spamassassin
sudo systemctl start spamassassin
编辑 /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}
SpamAssassin 默认:
[SPAM]在 main.cf 中加入:
smtpd_recipient_restrictions =
reject_rbl_client zen.spamhaus.org,
reject_rbl_client bl.spamcop.net
⚠️ 注意:
sudo apt install fail2ban
监控 Postfix / Dovecot 登录失败:
[postfix]
enabled = true
[dovecot]
enabled = true
.Spam 目录| 等级 | 措施 |
|---|---|
| 基础 | SPF + DKIM + DMARC |
| 中级 | Postfix 限制 + Postgrey |
| 高级 | SpamAssassin + RBL |
| 企业 | 商业反垃圾网关(如 Proxmox Mail Gateway) |
❌ 没做反向解析(PTR)
❌ 开放 open relay
❌ 没限制发信频率
❌ 没监控日志 /var/log/mail.log
如果你愿意,可以告诉我:
我可以直接给你一份 可复制粘贴的完整配置文件。