退信提示'504 5.5.2 Helo command rejected: need fully-qualified hostname'或'501 Invalid HELO name',怎么修改邮件服务器配置?

43 退信提示"504 5.5.2 Helo command rejected: need fully-qualified hostname"或"501 Invalid HELO name",怎么修改邮件服务器配置?
原因

SMTP 握手时 HELO/EHLO 命令发送的主机名不合法。合法主机名必须是 FQDN(完全限定域名,如 mail.example.com),不能是:裸主机名(mail)、IP 地址、含中文/下划线/特殊字符的名字、不存在的域名。

操作

1. Postfix:编辑 /etc/postfix/main.cf,设 myhostname = mail.yourdomain.com,重启 postfix reload
2. Exim:设 primary_hostname = mail.yourdomain.com
3. Sendmail:设 confDOMAIN_NAME
4. Docker/容器环境:用 --hostname mail.yourdomain.com 启动容器,确保 MTA 的 hostname 不是随机容器 ID。
5. 客户端(Outlook/Thunderbird):客户端本身不发送 HELO,这是发件 SMTP 服务器的配置问题——联系服务器管理员。
6. 验证:nslookup mail.yourdomain.com 必须能解析到发信 IP。
7. 用 MXToolbox SMTP Test 在线验证。

参考:RFC 5321 §4.1.1.1(EHLO 必须为 FQDN)· RFC 1035(域名规范)