首页/网络/协议速查/SMTP 响应码速查

SMTP 响应码速查

三位码:2xx 成功、3xx 中间态、4xx 临时错误(稍后重试)、5xx 永久错误(直接退信);排障时先看这一位再读文本。

协议速查网络更新于 2026-10-13

SMTP 响应码是什么

SMTP 的每个命令都有一条三位数应答:第一位决定大类,2xx 表示成功、3xx 表示中间态(还需继续)、4xx 表示临时错误应稍后重试、5xx 表示永久错误应直接退信。第二位细分语义(语法、信息、连接、邮件系统),第三位进一步区分。排障时先看第一位判断「还能不能重试」,再看文本里的增强状态码(如 5.7.1)定位策略原因。

基本信息

格式三位数字 + 空格 + 文本说明
大类2 成功、3 中间态、4 临时错误、5 永久错误
增强码形如 5.7.1,RFC 3463 定义,更细的语义分类
常见端口25 中继、587 提交、465 隐式 TLS
规范RFC 5321 §4.2、RFC 3463
观察方式swaks、openssl s_client -starttls smtp、邮件日志

典型使用场景

  • 用户报「发不出去」时,先从日志里找应答码,判断是认证问题还是被拒收
  • 区分「稍后自动重试」与「需要人工介入」:4xx 交给队列,5xx 要改配置或联系对方
  • 排查认证失败:535 通常是凭据或应用专用密码问题,530 是没先做认证
  • 识别反垃圾拦截:554 与 5.7.x 常见于对方策略拒收
  • 验证自己的发信服务是否要求 STARTTLS 与 AUTH

应答码速查

码含义场景与动作
211系统状态HELP 类别应答
214帮助消息HELP 命令的回复
220服务就绪连接建立后的首条应答
221服务关闭QUIT 的正常应答
235认证成功AUTH 通过,可继续 MAIL FROM
250请求动作完成最常见成功码,MAIL/RCPT/DATA 后确认
251用户非本地,将转发RCPT 应答,收件人需转发
252无法验证用户但仍接受RCPT 应答,常见于内网中继
354开始输入正文DATA 命令的应答,以单独一行句点结束
421服务不可用,即将关闭连接临时错误,稍后重试
450邮箱不可用(临时)临时错误,稍后重试
451处理时出错(临时)临时错误,多为本地资源问题
452存储不足(临时)临时错误,队列或磁盘压力
455参数错误(临时)临时错误,稍后重试
500语法错误永久失败,命令本身不合法
501参数语法错误永久失败,地址格式或参数有误
502命令未实现永久失败,服务端不支持该命令
503命令顺序错误需先 EHLO/AUTH 再发后续命令
504参数未实现永久失败,换用支持的参数形式
530需要认证先完成 AUTH 再发信
534认证机制太弱换更强的机制或改用加密连接
535认证失败凭据错误,检查账号与应用密码
550邮箱不可用(永久)拒收:地址不存在或策略拒收
551用户非本地需按提示转发到其他服务器
552存储溢出(永久)永久失败,超出配额或大小限制
553邮箱名不允许地址格式非法,永久失败
554事务失败或被策略拒反垃圾拒收的常见码,看附加说明
记忆方法:4yz 是「现在不行,晚点再来」,5yz 是「别再来」。邮件队列会自动按退避策略重试 4xx,而 5xx 会生成退信给发件人,两者的处理路径完全不同。
接到 4xx 就立刻判定发送失败并放弃重试,会把对方限流或灰名单造成的短暂拒绝变成「邮件丢了」;反过来,遇到 5xx 还反复重投只会损害本域信誉。

易错点

  • 把 4xx 当永久失败直接放弃重试:对方只是暂时限流或灰名单,稍后重投即可送达
  • 只看三位码不看文本与增强码:同样是 550,原因可能是地址不存在、也可能是对方策略拒收,处理方式不同
  • 在 25 端口直连对方提交邮件:多数网络会拦截或直接判为垃圾,正确做法是 587/465 提交给自己的发信服务器
  • 排障时只看客户端报错不看服务端日志:完整会话(EHLO 能力、AUTH 结果)只有日志里才有

数据来源与参考

  • RFC 5321 §4.2
  • RFC 3463(增强状态码)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌