在与SPAM的日常斗争中,有好几次我一直试图严格执行来自野生Internet连接的客户端的DNS要求。
详细地说,我将在我的smtpd_client_restrictions部分中添加reject_unknown_reverse_client_hostname设置,如下所示:
smtpd_client_restrictions =
permit_sasl_authenticated
check_client_access hash:/etc/postfix/access
check_policy_service inet:127.0.0.1:4466
reject_unknown_reverse_client_hostname
reject_unauth_pipelining
无论如何,我注意到在遇到这种限制时,Postfix的行为非常“柔和”,因为的默认值为unknown_client_reject_code
450。因此,邀请客户端继续重试。
在调查550答复时,我在Postfix官方文档中遇到了以下声明:
我绝对不是整个RFC 5321的专家,但是作为一个足够大的人知道RFC 821的人,我真的不明白为什么以550而不是450的响应会在最高SMTP级别上影响我的Postfix实例(违反RFC规范),尤其是考虑到在出现临时错误的情况下,无论明确设置如何,Postfix都会坚持使用450。
那么,有人可以帮助我了解这种替换的问题吗?
PS:与此同时,我以“放松”的限制告终:
smtpd_client_restrictions =
permit_sasl_authenticated
check_client_access hash:/etc/postfix/access
check_policy_service inet:127.0.0.1:4466
warn_if_reject reject_unknown_reverse_client_hostname
reject_non_fqdn_helo_hostname
reject_unauth_pipelining
reject_invalid_helo_hostname