MailABC致力于科普电子邮件知识。如需交流,可以关注mailabc微信公众号或邮件feedback@mailabc.cn

邮件常见退信代码

邮件协议 小胡子大魔王 2年前 (2024-09-06) 2856次浏览
提示:退信错误代码较多,本文仅列出常见的情况。

邮件退信代码概述

邮件退信代码(SMTP 错误代码)定义在 RFC 5321 中,该文档是对最初的邮件传输协议的扩展和修订。RFC 5321 是当前广泛使用的 SMTP 标准,描述了邮件服务器在传输邮件过程中可能返回的状态码,包括退信时用到的错误代码。

退信代码通常是 3 位数的数字,分为以下几类:

  • 2xx:成功代码。表示操作成功,例如 250 OK 表示邮件成功传送。
  • 4xx:临时错误。表示问题是暂时的,客户端可以稍后重试,例如 450 Requested mail action not taken: mailbox unavailable。
  • 5xx:永久错误。表示问题是永久的,邮件不能送达,例如 550 Requested action not taken: mailbox unavailable,通常表示邮箱不存在或被拒绝。

常见 4xx 和 5xx 系列退信代码

4xx 系列(临时错误,客户端可以稍后重试)

421 – Service not available, closing transmission channel

服务不可用,通常是服务器负载过高或暂时故障,关闭连接后可以稍后重试。

450 – Requested mail action not taken: mailbox unavailable

邮箱不可用,通常是邮箱空间不足或临时故障,稍后可以重试。

451 – Requested action aborted: local error in processing

本地处理错误,通常是服务器的临时问题,例如配置问题、文件系统问题等。

452 – Requested action not taken: insufficient system storage

系统存储空间不足,邮件不能发送,通常是服务器存储或邮箱空间用尽。

5xx 系列(永久错误,不能重试)

500 – Syntax error, command unrecognized

语法错误,命令无法识别,通常是由于客户端发送了不合法的 SMTP 命令。

501 – Syntax error in parameters or arguments

参数或命令语法错误,服务器无法处理。

502 – Command not implemented

未实现的命令,服务器不支持该命令。

503 – Bad sequence of commands

错误的命令顺序,例如在认证之前发送了需要认证的命令。

504 – Command parameter not implemented

参数未实现,通常是服务器不支持该命令的特定参数。

550 – Requested action not taken: mailbox unavailable

请求的操作未执行,目标邮箱不可用,通常是邮箱不存在或被拒收。

551 – User not local; please try <forward-path>

用户不在本地,建议尝试转发路径。通常是邮件地址被重定向。

552 – Requested mail action aborted: exceeded storage allocation

请求的操作被中止,目标邮箱超出存储配额。

553 – Requested action not taken: mailbox name not allowed

邮箱名称不合法,通常是因为格式不正确或该域名拒绝。

554 – Transaction failed

事务失败,通常是由于邮件内容或发件人被拒绝,例如垃圾邮件或病毒检测失败。

RFC 3463 扩展状态代码

除了基本的 3 位 SMTP 错误代码,RFC 3463 定义了更详细的扩展状态码。这些扩展状态码使用三组数字,每组数字由一个句点分隔,例如:5.1.1。

扩展状态码示例:

5.1.1 – Bad destination mailbox address

邮箱地址不存在。

5.1.2 – Bad destination system address

系统地址无效,通常是域名解析失败。

5.2.2 – Mailbox full

邮箱已满。

5.3.4 – Message too large for system

消息太大,服务器无法接受。

5.4.1 – No answer from host

服务器无法联系目标主机,通常是网络问题。

5.7.1 – Delivery not authorized, message refused

拒绝投递,通常是由于发件人没有权限或内容被认为是垃圾邮件。

其他常见退信原因(非标准代码)

在实际使用中,不同的邮件服务器可能会有自定义的退信消息,或者在退信中包含额外的详细信息,例如:

  • Greylisting:邮件服务器临时拒绝邮件,要求发件方稍后重试,通常是防止垃圾邮件的措施。
  • SPF/DKIM/DMARC 失败:由于发件人的域名没有通过 SPF、DKIM 或 DMARC 认证,邮件被拒绝。

未标注来源的文章均为原创作品,版权所有,转载请注明出处。非原创文章均已标注来源,如有侵权请告知。 如您喜欢本站,可以收藏加关注(扫码关注右上角微信公众号mailabc)。如您有好的建议,可以反馈至feedback@mailabc.cn邮箱。
喜欢 (3)