邮件服务器退回的各种 smtp 错误代码的解释

邮件服务器退回的各种 smtp 错误代码的解释

我想从这里向真正的邮件服务器管理员询问一些 smtp 错误代码 - 我负责一些客户的邮件系统,并且服务器回复种类繁多,其中许多回复都不太清楚,几乎每个服务器都有自己的回复。如果我得到正确而明确的回复,如“未知用户”、“无效收件人”、“由于内容限制而被阻止”等,我就可以处理它并进行必要的更改。

但是我对包含“跳数”、“中继”、“拒绝访问”而没有任何附加信息、需要 smtp 授权等的回复感到非常困惑。我需要确定退回回复的真正含义,是收件人端的错误服务器回复、发件人端的错误、技术问题、需要域白名单等。以下是一些对我来说含义不太清楚的回复的列表:

we do not relay
relaying denied
smtp; 550 5.7.1 Unable to relay
Recipient address rejected
Recipient address rejected: Access denied

554 5.1.0 Sender denied
smtp; 550 relay not permitted
Relay access denied

Hop count exceeded - possible mail loop
Maximum forwarding loop count exceeded

554 5.7.1 Access denied
Recipient address rejected: Access denied
550 #5.1.0 Address rejected

RESOLVER.RST.AuthRequired; authentication required

550 Denied by policy
553 5.7.1 sorry, that domain isn't in my list of allowed

550 5.7.1 Command not allowed

答案1

一般来说,SMTP RFC 2821 不定义错误消息的内容,它只建立了一些关于应该做什么和应该如何做的基本规则。因此,大多数 SMTP 中继管理员通常以他们能理解的方式编写自己的自定义消息。这样做主要是为了能够在自己的日志中区分各种退回原因。

可能不值得猜测每条消息的确切含义,但我会尝试解释这些消息的平均含义。请注意,我根据消息的含义重新分组了它们。

  • 我们不转播- 一条没有解释的一般性信息。请向中继人员寻求帮助。
  • 拒绝中继- 相同的。
  • 中继访问被拒绝- 相同的。
  • smtp;550 5.7.1 无法中继- 相同的。
  • 554 5.7.1 访问被拒绝 - 相同的。
  • 550 策略拒绝- 相同的。
  • smtp;550 中继不允许- 可能与上面相同。

  • 收件人地址被拒绝:访问被拒绝- 中继发现它不想将消息中继到中指定的电子邮件RCPT TO:,但没有说明具体原因。

  • 收件人地址被拒绝- 相同的。
  • 收件人地址被拒绝:访问被拒绝- 相同的。

  • 554 5.1.0 发件人被拒绝- 您的 SMTP 客户端发出中继后MAIL FROM:,可能在某种黑名单中发现了此地址。请向中继人员寻求帮助。

  • 超出跳数 - 可能存在邮件循环- DNS 或中继配置不正确 - 报告给中继设备。

  • 超出最大转发循环次数- 相同的。

  • 550 #5.1.0 地址被拒绝- 取决于被拒绝的地址,可能是两者皆有MAIL FROM:RCPT TO:。无论哪种情况,都不会说明原因。

  • RESOLVER.RST.AuthRequired;需要身份验证- 中继需要 SMTP AUTH。

  • 553 5.7.1 抱歉,该域名不在我的允许列表中- 中继无法将域邮件部分识别为本地邮件。可能是配置不正确,或者是 DNS 问题。请向远程中继人员报告。

  • 550 5.7.1 命令不允许- 错误的 SMTP 命令顺序,例如,DATAMAIL FROM:,错过HELO或类似的。

当寻求帮助时,你可以先写一条消息描述问题[电子邮件保护]电子邮件地址,但如今无法保证是否有人阅读此邮箱,甚至无法保证此电子邮件是否存在于目的地中继中。

相关内容