我的 postfix main.cf 配置了许多黑名单:
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_unauth_pipelining,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_rbl_client opm.blitzed.org,
reject_rbl_client zombie.dnsbl.sorbs.net,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client multi.uribl.com,
reject_rbl_client dsn.rfc-ignorant.org,
reject_rbl_client dul.dnsbl.sorbs.net,
reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client dnsbl.sorbs.net,
reject_rbl_client ix.dnsbl.manitu.net,
reject_rbl_client combined.rbl.msrbl.net
一封来信被拒绝了,因为它出现在其中一个列表 (sorbs.net) 上,但没有出现在其他列表上。是否可以将 postfix 配置为仅在 2 个或更多列表包含该 IP 地址时才拒绝?我希望这可以消除错误匹配...
答案1
将你的 postfix 版本升级到至少 2.8,并配置后筛选。
它支持针对单个 DNSBL 的复杂权重和阈值
答案2
据我所知,您问的问题在标准 Postfix 配置中是无法实现的。不过,您可以将 RBL 检查委托给postfix 策略守护进程这将执行一些您自己的自定义检查。
我建议你看看Postfix 网站上提供的此类守护进程列表其中一个可能适合您的需求。我没有使用过其中任何一个,但是,查看文档,以下内容似乎特别有用: