我有一个运行大约 8 个月的 postfix 服务器,
当 EHLO 指向“xxxx.local”之类的域时,服务器会拒绝电子邮件
我的问题是:smtp 服务器将自己标识为“something.local”是否正确?
如果是,是 Postfix reject_unknown_helo_hostname 配置错误?如何处理来自“something.local”的这些邮件?
Out: 220 example.org ESMTP Postfix
In: EHLO xxxxxx.local
Out: 250-example.org
Out: 250-PIPELINING
Out: 250-SIZE 104857600
Out: 250-VRFY
Out: 250-ETRN
Out: 250-STARTTLS
Out: 250-ENHANCEDSTATUSCODES
Out: 250-8BITMIME
Out: 250 DSN
In: MAIL FROM:<[email protected]> SIZE=12193
Out: 250 2.1.0 Ok
In: RCPT TO:<[email protected]>
Out: 450 4.7.1 <xxxxxx.local>: Helo command rejected: Host not
found
In: QUIT
Out: 221 2.0.0 Bye
这没有错,但它太严格了。当 HELO 或 EHLO 主机名没有 DNS A 或 MX 记录时,此限制将拒绝请求。
要使其更弱,您可以尝试使用限制
当客户端 IP 地址没有地址->名称映射时拒绝请求,并且
当 HELO 或 EHLO 主机名语法无效时,它会拒绝请求。
此外,您可以将限制的行为更改为记录警告而不是拒绝请求
有关这些限制的详细说明,请查看 postconf(5) 手册页。
您应该仅在端口 587(提交端口)上允许 HELO 中的无效 FQDN。
这就是将提交端口与端口 25 分开的关键(参见 RFC 6409)。只要确保没有人首先通过 SMTP AUTH 进行身份验证,就可以将邮件提交到端口 587。
邮件服务器将自己标识为 something.local 肯定是不正确的。电子邮件要求每个服务器提供一个有效的 fqdn。这是一种有用的垃圾邮件预防机制,需要您的同行进行正确的 dns 设置。也就是说,还有其他原因允许错误的 dns 设置,例如本地计算机的配置超出您的范围。