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 依据 mynetworks、relay_domains(Postfix)或 access 规则表(Sendmail)判断是否允许转发。
常见原因
- 发件 IP 未在 MTA 白名单中:Postfix 的
mynetworks参数未包含客户端 IP。 - 发件域不在 relay_domains 中:MTA 只允许代发本域邮件,外部域需 SASL 认证。
- 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 服务认证扩展)。
参考文献
- RFC 5321 §3.9
