我有一个托管许多虚拟域的邮件服务器。
该服务器上一个虚拟域的所有者要求我阻止来自外部域的邮件进入他的邮箱。
我的中有此设置main.cf
:
smtpd_sender_restrictions = check_sender_access hash:/etc/postfi/sender_check
允许我阻止来自某个域的邮件,但如果我使用此解决方案,我会阻止来自该发件人域的邮件发往服务器中的所有域,而不仅仅是感兴趣的域。
有没有什么技巧可以让 Postfix 同时评估发件人域和目标域以进行过滤?
我可以在邮箱级别进行过滤,但管理起来很烦人而且非常耗时......
答案1
smtpd_restriction_classes
您可以像这样使用main.cf
:
smtpd_recipient_restrictions =
...
check_recipient_access hash:/etc/postfix/recipient_access
...
smtpd_restriction_classes = tocustomerx
tocustomerx = check_sender_access hash:/etc/postfix/customer_x_sender_access
输入/etc/postfix/recipient_access
如下内容:
dom-customer.com tocustomerx
并且在/etc/postfix/customer_x_sender_access
dom-xyz.com REJECT
这会告诉 Postfix,发往您客户域的邮件属于某个类别tocustomerx
,并且它应该针对该类别检查/etc/postfix/customer_x_sender_access
发件人的访问权限。
答案2
如果您只想使用 Postfix 内置过滤器来执行此操作,那么只有为 Postfix 服务器分配不同的公共 IP 地址才可以完成此操作。
如果是这样,你可以按照这个例子来得到你想要的: Postfix BUILTIN_FILTER_README
或者您可以按照以下说明和示例编写外部过滤器Postfix FILTER_README
问候
保罗·B.