好吧。一些背景。我们有一个反垃圾邮件集群,每天运送大约 2-3 百万封电子邮件,阻止来自最终用户的 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 服务以及 Postgrey 服务。
问题是,我有一个客户(成千上万的客户)对我们屏蔽了他们的一封重要电子邮件感到非常沮丧。它是通过一个俄罗斯 freemailer 发送的,他目前在我们的三个 RBL 服务器中的两个服务器中被阻止。我向他们解释了情况,但他们坚持我们不阻止他们的任何电子邮件。
因此,我需要一种将来自 domain.com 的任何电子邮件列入白名单的方法,但是我需要它在任何收件人限制之前发生,他们根本不希望 RBL 或 postgrey 阻塞。
我自己做了一些研究,http://www.howtoforge.com/how-to-whitelist-hosts-ip-addresses-in-postfix起初似乎是一个很好的指南,几乎解决了我的问题,但是我希望它根据 TO 地址而不是原始服务器接受。
如果您根据
RCPT TO
地址进行处理,您将用垃圾邮件淹没此人,因为它将禁用任何进一步的垃圾邮件检查。您唯一的选择是使用
check_sender_access
.像这样:
postmap access_sender
创建后不要忘记。