我确信这种情况很常见:用户(拥有一个或两个黑名单中的 IP)正在使用其电子邮件提供的服务器(具有 SMTP 身份验证)发送邮件,然后该服务器将邮件转发给收件人。
这是此类消息的经过清理的标头。
Received: from email-com-hosting.com ([1.2.3.4]) by mail.email2.com with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <[email protected]>) id 1aaaaa-000000-aa for [email protected]; Fri, 30 Sep 2016 00:01:00 +0300 DKIM-Signature: some-valid-signature-added-by-1.2.3.4; Received: from [5.6.7.8] (helo=[10.0.0.1]) by email-com-hosting.com with esmtpa (Exim 4.76) (envelope-from <[email protected]>) id 1aaaaa-000000-ab for [email protected]; Fri, 30 Sep 2016 00:00:00 +0300
服务器 1.2.3.4 是 email.com 的实际服务器,mx 记录指向它以及所有内容。 IP 5.6.7.8 位于多个黑名单中。
Spamassassin 将此电子邮件标记为垃圾邮件,因为 5.6.7.8 位于黑名单中。
如何让它忽略所有收到的具有“esmtpa”的标头 - 经过验证的 SMTP 及其下面的所有标头?想法是这样的:
- 如果标头是真实的并且用户确实经过身份验证,则不检查 IP 是否在黑名单中。
- 如果标头是欺骗性的,那么无论如何它都是无用的。
- 如果用户未通过身份验证,则还要检查他的 IP。
现在我可以将 -lastexternal 或 -notfirsthop 添加到所有检查中,但也许有一种方法可以在接收到的标头中合并是否存在“a”。