收件人限制之前的 Postfix 白名单

收件人限制之前的 Postfix 白名单

好吧。介绍一下背景。我们有一个反垃圾邮件集群,每天传输大约 200 万到 300 万封电子邮件,拦截来自我们最终用户的 99% 左右的垃圾邮件。

底层 SMTP 服务器是 Postfix 2.2.10。邮件被发送到 SpamAssassin/ClamAV/等之前的“前线防御”附在下面。

...basic config....    
smtpd_recipient_restrictions =
            reject_unauth_destination,
            reject_rbl_client b.barracudacentral.org,
            reject_rbl_client cbl.abuseat.org,
            reject_rbl_client bl.mailspike.net,
            check_policy_service unix:postgrey/socket
...more basic config....

如您所见,有来自各个公司的标准 RBL 服务,以及 Postgres 服务。

问题是,我有一个客户(数千个客户中的一个)对我们屏蔽了他们的一封重要电子邮件感到非常不满。该邮件是通过一个俄罗斯免费邮件发送的,目前我们的三个 RBL 服务器中有两个服务器已屏蔽该邮件。我向他们解释了情况,但他们坚持认为我们没有屏蔽任何他们的电子邮件。

因此,我需要一种方法来将发送到 domain.com 的任何电子邮件列入白名单,但是我需要它在任何收件人限制之前进行,他们根本不希望出现 RBL 或 postgrey 阻止。

我自己也做了一些研究,http://www.howtoforge.com/how-to-whitelist-hosts-ip-addresses-in-postfix一开始似乎是一个很好的指南,几乎解决了我的问题,但我希望它根据收件人地址而不是原始服务器来接受。

答案1

如果您根据RCPT TO地址进行处理,那么您将向此人发送大量垃圾邮件,因为它将禁用任何进一步的垃圾邮件检查。

您唯一的选择是使用check_sender_access

smtpd_recipient_restrictions =
            check_client_access hash:/etc/postfix/access_sender
            reject_unauth_destination,
            reject_rbl_client b.barracudacentral.org,
            reject_rbl_client cbl.abuseat.org,
            reject_rbl_client bl.mailspike.net,
            check_policy_service unix:postgrey/socket

就像这样:

[email protected]      OK
domain.com               OK
fromuser@                OK

postmap access_sender创建后请不要忘记。

相关内容