这和这个说reject_rbl_client是一个smtpd_recipient_restriction 。 然而, 后缀文档显示它只是一个smtpd_client_restriction ,这对我来说是有意义的。 那么,这是什么?
另外,为什么当我configuration废话, postfix check和service postfix reload只是接受它?
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unknown_client_hostname, reject_rbl_cliena bl.spamcop.net
和:
root@server: /etc/postfix # postfix check root@server: /etc/postfix # echo $? 0 root@server: /etc/postfix #
和:
# service postfix reload Reloading Postfix configuration...done.
版本:2.9.6-2 Debian 7(Wheezy)
如果向下滚动到Postfix文档中的smtpd_recipient_restrictions的末尾,则说明客户端 , helo和发件人的 SMTP命令特定限制在发件人上下文中也是有效的。 换句话说:您可以将reject_rbl_client限制放在任一列表中。
接收邮件时,Postfix将按照以下顺序应用smtpd_*_restrictions : 客户端 , helo , 发件人 , 中继 , 收件人 , 数据和end_of_data 。 当限制评估为REJECT或限制( DEFER ,将跳过以下限制。 理想情况下,快速便宜的检查首先完成,以便大部分时间跳过相对昂贵的检查(如查找外部黑名单)。 通过将reject_rbl_client值移出smtpd_client_restrictions并移入smtpd_recipient_restrictions ,您将减lessPostfix需要查找黑名单的次数。
postfix check会报告参数名称中的拼写错误,而不是参数值中的拼写错误(与您的情况相同)。 引用Postfix作者(Wietse Venema)的post :
在许多情况下,仅在使用某个值时才会检查1000+个参数值的语法。 例如,只有当特定的IP地址与这个列表相匹配时,才会检查mynetworks值的语法(如果语法错误在列表的末尾,那么在错误被发现之前可能会持续一段时间)。