查找SMTP错误代码时,有时会看到“550”或“5.5.0”。 有时虚线代码中的数字是不同的。
我find了RFC 821中定义的数字代码和RFC 3463中的虚线代码。
对于同样的事情,这只是不同的表示法,还是这些不同? 如果它们不同,协议的哪些部分负责返回每个代码,以及为什么不同的代码?
前三位数字“550”是SMTP协议所必需的代码。 这在SMTP对话框中用于处理错误,成功或失败。
虚线的版本是所谓的扩展返回码。 在此代码中,您可以为人类或自动脚本指定更详细的响应。 但是他们不需要SMTP服务器的工作。
但是,当你使用扩展的错误代码时,你需要的是数字错误代码,后面跟着一个虚线代码。 不是相反的。 而不仅仅是没有数字的扩展错误代码。
值不一定要相等,但必须匹配。 所以你可以有一个“554 5.7.1服务不可用”。 两者都必须以5开头,但在最后一部分不必相同。
RFC 3463的概述提供了一个相当不错的答案 – 点是现代标准,直接数字响应代码是传统标准。 编辑:“遗留”是不好的措辞,因为旧的代码仍然是协议信令所必需的,但不提供新代码的细节。
需要一个标准的机制来报告邮件系统错误比SMTP提供的有限集合更丰富,以及邮件中发送的系统特定的文本描述。 迫切需要一个丰富的机器可读的,与人类语言无关的状态代码,用于传递状态通知。 本文件为此提出了一套新的状态代码。