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

好的。 一些背景。 我们有一个反垃圾邮件群集每天运送大约2-3百万封电子邮件,阻止来自最终用户的垃圾邮件的99%范围内的某个地方。

底层的SMTP服务器是Postfix 2.2.10。 邮件前的“Frontline defense”被送到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服务以及Postgrey服务。

问题是,我有一个客户(成千上万)非常沮丧,我们阻止了他们的重要电子邮件。 它是通过一个俄罗斯的freemailer发送的,目前在我们的三个RBL服务器中有两个被阻塞。 我向他们解释了情况,但他们坚持我们不会阻止他们的任何电子邮件。

所以我需要一个白名单的方法来domain.com的任何电子邮件,但我需要它发生在任何收件人的限制之前,他们不想要任何RBL或postgrey阻止。

我自己做了一些研究, http://www.howtoforge.com/how-to-whitelist-hosts-ip-addresses-in-postfix起初似乎是一个很好的指导, 几乎解决了我的问题,但我希望它接受基于TO地址,而不是始发服务器。

如果您根据RCPT TO地址进行处理,您将用垃圾邮件淹没此人,因为这将禁用任何进一步的垃圾邮件检查。

你唯一的select是使用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 

不要忘了创build后postmap access_sender