![如何在 Exim4 中跳过经过身份验证的主 DNSBL 检查](https://linux22.com/image/533300/%E5%A6%82%E4%BD%95%E5%9C%A8%20Exim4%20%E4%B8%AD%E8%B7%B3%E8%BF%87%E7%BB%8F%E8%BF%87%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E7%9A%84%E4%B8%BB%20DNSBL%20%E6%A3%80%E6%9F%A5.png)
我对 Exim4 有以下 ACL:
acl_check_rcpt:
deny message = DNSRBL Access denied - $sender_host_address \
listed by $dnslist_domain\n$dnslist_text
dnslists = zen.spamhaus.org : b.barracudacentral.org
这会将 DNSBL 应用于所有邮件,但我想添加一个例外以仅检查收到的邮件(或跳过通过 SMTP 验证的会话传递的邮件的检查)。
答案1
对我来说,最简单的方法是调整 acl_check_rcpt 中的测试顺序,使得以下内容位于您遇到问题的 DNSBL 测试之上:
accept authenticated = *
因此,您无需在 DNSBL 检查中添加例外,只需在发件人已经通过身份验证的情况下,在进行 DNSBL 检查之前接受邮件即可。