我正在运行 postfix 3.1,我刚刚收到来自 183.8.202.206 的一些电子邮件,说它来自 gmail。快速查找后发现,除非 Google 已出售给 ChinaNet,否则这很可能是谎言。
我收到的大部分垃圾邮件都来自不匹配的 IP 和域名 - 有没有办法配置 postfix 来显示类似“仅接受来自 gmail/yahoo/outlook/hotmail 地址的电子邮件(如果来自这些 IP 地址)”?
我已经多次阅读过 Postfix 文档,但我不记得看到过这种可能性。
答案1
这是 SPF 解决的问题,你可以将其集成到 Postfix 中Postfix 的两个 SPF 验证守护进程之一。 这Python 版本或许是最好的选择。
安装将根据你的 Linux 发行版而有所不同,但一般来说,你将按照 Ubuntu 教程中的内容进行操作:
在 /etc/postfix/main.cf 中,您需要添加以下行(添加在哪里并不重要,通常添加到末尾)。
policy-spf_time_limit = 3600s
这改变了策略的时间限制,因此在消息仍在处理时策略服务器不会超时。
将此部分添加到 Python 脚本的 /etc/postfix/master.cf 中
policy-spf unix - n n - - spawn user=nobody argv=/usr/bin/policyd-spf
或者对于 Perl 脚本 policy-spf unix - nn - - spawn user=nobody argv=/usr/sbin/postfix-policyd-spf-perl
最后,您需要将策略服务添加到文件 /etc/postfix/main.cf 中的 smtpd_recipient_restrictions 中:
smtpd_recipient_restrictions = ... permit_sasl_authenticated permit_mynetworks reject_unauth_destination check_policy_service unix:private/policy-spf ...
注意:将策略服务放在reject_unauth_destination之后,以防止策略服务的意外响应使您的系统成为开放中继(建议所有策略服务都这样做)。此外,将策略服务放在允许本地发件人之后。您只希望SPF检查来自互联网的入站邮件,而不是来自用户的出站邮件。
答案2
编辑 main.cf 并找到部分
smtp_sender_restrictions
添加
拒绝未知主机名
实际上这一部分有很多选项
如果你的 postfix 配置正确,你可以阅读这篇文章
http://www.postfix.org/ADDRESS_VERIFICATION_README.html
此致!