我已经开始使用policyd-spf,并使用以下收件人限制。 我想要的是通过SPF检查的发件人跳过任何RBL检查。 不幸的是,这并没有发生。
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname, check_policy_service unix:private/policy-spf check_sender_access mysql:/etc/postfix/mysql_sender_checks.cf reject_rbl_client zen.spamhaus.org, reject_rbl_client bl.spamcop.net, reject_rbl_client cbl.abuseat.org, reject_rbl_client dnsbl.sorbs.net
失败的SPF检查是正确的,但正如您从系统日志中看到的 – policyd-spf说它已通过,但继续RBL检查:
Mar 29 13:15:51 policyd-spf[6442]: Pass; identity=mailfrom; client-ip=69.171.232.144; helo=mx-out.facebook.com; envelope-from=REDACTED; receiver=REDACTED Mar 29 13:15:51 postfix/smtpd[5971]: NOQUEUE: reject: RCPT from 69-171-232-144.outmail.facebook.com[69.171.232.144]: 554 5.7.1 Service unavailable; Client host [69.171.232.144] blocked using dnsbl.sorbs.net; Currently Sending Spam See: http://www.sorbs.net/lookup.shtml?69.171.232.144; from=<REDACTED> to=<REDACTED> proto=ESMTP helo=<mx-out.facebook.com>
是否有人熟悉postfix-policyd-spf-python,如果是的话,你可以解释为什么它不像预期的那样工作。
使用:
Debian GNU/Linux 7 Linux XXXXX 3.2.0-4-amd64 #1 SMP Debian 3.2.82-1 x86_64 GNU/Linux Postfix 2.9.6-2 postfix-policyd-spf-python 1.0.2
根据日志,该消息被列表dnsbl.sorbs.net拒绝。
如使用SORBS简介中所述
作为SORBS的潜在用户,列出你需要问自己的最重要的问题是: 我是否理解我打算使用的列表的列表标准?
那么,你有很多select/决定:
- 如何阻止垃圾邮件,你想成为?
- 你想要相信SORBSpipe理员以及testing脚本吗?
- 您是否相信SORBSpipe理员用来识别configuration错误的主机的脚本?
列表dnsbl.sorbs.net是包含除spam.dnsbl.sorbs.net之外的所有SORBS区域的聚合区域)。 这意味着您的设置在阻止垃圾邮件方面非常积极,即您可能会有误报,就像您已经做的那样。
虽然(来自Postfixconfiguration参数 , smtpd_recipient_restrictions )
限制按照指定的顺序应用; 第一个限制匹配胜。
check_policy_service只会导致发送查询到指定的策略服务器,而不是直接reject或permit 。 然后,如果PermError_reject = True ,则您的python-policyd-spf可以返回reject ,否则它将只添加Received-SPF头,并继续处理限制。
您应该阅读使用SORBS的可用区域列表。 然后,您可以决定哪些区域最适合您的需求,并分别添加它们,例如
smtpd_recipient_restrictions = . . . reject_rbl_client relays.dnsbl.sorbs.net, reject_rbl_client web.dnsbl.sorbs.net, reject_rbl_client escalations.dnsbl.sorbs.net, reject_rbl_client block.dnsbl.sorbs.net, reject_rbl_client zombie.dnsbl.sorbs.net, reject_rbl_client dul.dnsbl.sorbs.net, reject_rbl_client noserver.dnsbl.sorbs.net, reject_rbl_client rhsbl.sorbs.net, . . .
或者你可以把dnsbl.sorbs.net较不积极的聚合区域safe.dnsbl.sorbs.net 。