FAQ问答 > 554 5.7.1 Relay Access Denied 退信是什么意思,怎么解决?

554 5.7.1 Relay Access Denied 退信是什么意思,怎么解决?

错误含义:Sendmail/Postfix 返回 554 5.7.1 <user@domain>... Relay access denied 表示发件人被 MTA 拒绝中继(Relay)权限。此错误是 SMTP RFC 5321 §3.9 定义的中继控制行为,MTA 依据 mynetworksrelay_domains(Postfix)或 access 规则表(Sendmail)判断是否允许转发。

常见原因

  1. 发件 IP 未在 MTA 白名单中:Postfix 的 mynetworks 参数未包含客户端 IP。
  2. 发件域不在 relay_domains 中:MTA 只允许代发本域邮件,外部域需 SASL 认证。
  3. SASL 认证未启用或失败:Postfix 的 smtpd_sasl_auth_enable = yes 未配置。

排查与修复

# 检查 Postfix relay 配置
postconf mynetworks
postconf relay_domains
postconf smtpd_sasl_auth_enable

# 查看 maillog 确认拒绝原因
grep "relay access denied" /var/log/maillog

# 临时允许客户端 IP(仅测试用)
postconf -e "mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.1.0/24"
postfix reload

永久解决方案:为移动/远程客户端配置 SASL 认证(Dovecot SASL 或 Cyrus SASL),参见 RFC 4954(SMTP 服务认证扩展)。

参考文献

  1. RFC 5321 §3.9