我有一个 Postfix 服务器运行我自己的电子邮件,一切正常。当我升级机器并决定查看安全设置/阅读并实施一些在线最佳实践时,大多数在线教程都告诉我进行类似以下smtpd_client_restrictions
设置:main.cf
smtpd_client_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_invalid_hostname,
reject_unknown_client_hostname,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client cbl.abuseat.org
同时我还看到有人将submission
服务设置master.cf
为:
submission inet n - y - - smtpd
(...)
-o smtpd_client_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_mynetworks,permit_sasl_authenticated,reject
我的问题:为什么smtpd_client_restrictions
undersubmission
以 结尾reject
,而 undermain.cf
没人建议以 结尾reject
?根据文档,它们不是一回事吗:
-o name=value(简写形式)覆盖指定的 main.cf 配置参数。参数值可以引用其他参数,如 $name 等,就像在 main.cf 中一样。有关语法,请参阅 postconf(5)。 http://www.postfix.org/master.5.html
还,
限制按照指定的顺序应用;第一个匹配的限制获胜。http://www.postfix.org/postconf.5.html#smtpd_client_restrictions
如果“第一个匹配的限制获胜”规则真的适用,那么以它结尾不会reject
导致根本无法发送电子邮件吗?
谢谢。
答案1
这是多余的。如果你到达最后却没有匹配到任何内容,那么默认设置reject
仍然有效。但是将它放在那里可以让不知道默认设置是什么的人清楚地知道这一点。