后缀限制所有传入的邮件到某些域,然后允许所有特定的用户地址

我们使用Postfix公司给员工的电子邮件地址…都是格式[email protected]

基本上我想限制所有传入邮件到这些地址只允许来自@ example.com域的电子邮件。

很简单,但我认为有一些select的监督人地址需要不受限制(能够接收来自任何域的电子邮件)。

我find的答案都没有回答这个问题(虽然我在处理电子邮件设置方面真的很虚弱)

/etc/postfix/main.cf的snippit:

smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, check_sender_access hash:/etc/postfix/access, reject 

你可以使用限制类。 看到:

为你的情况

现在我们要创build两个class级,第一个是上级,第二个是公司的其余部分。

安装程序

main.cf中定义smtpd_restriction_classess

 smtpd_restriction_classes = mysupervisor 

main.cf中设置smtpd_recipient_restrictions,将这一行check_sender_access hash:/etc/postfix/access,

 check_recipient_access hash:/etc/postfix/mycompany.rules 

这个文件/etc/postfix/mycompany.rules将执行决定逻辑来select属于mysupervisor类的哪个地址。 所以内容是

 [email protected] mysupervisor [email protected] mysupervisor 

然后在main.cf中定义mysupervisor类的规则,这样postfix将允许所有的地址。

 mysupervisor = permit 

要检查电子邮件是否来自公司域(example.com),请在check_recipient_access hash:/etc/postfix/mycompany.rules之后设置规则check_sender_access hash:/etc/postfix/insiders/etc/postfix/insiders

 example.com OK 

现在, main.cf已经成为

 smtpd_restriction_classes = mysupervisor mysupervisor = permit smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, check_sender_access hash:/etc/postfix/access, check_recipient_access hash:/etc/postfix/mycompany.rules, check_sender_access hash:/etc/postfix/insiders reject 

怎么运行的

对于所有电子邮件,postfix将应用限制

 check_sender_access hash:/etc/postfix/access, 

之后,电子邮件将被检查mycompany.rules 。 如果收件人是主pipe电子邮件,则不允许,否则postfix将执行最后一个限制/etc/postfix/insiders 。 如果发件人是@ example.com,则允许,否则拒绝。