我们使用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,则允许,否则拒绝。