Skip to main content

Appendix F. Deprecated Features of RFC 821 (RFC 821的弃用功能)

本附录列出了原始RFC 821中的功能,这些功能在本规范中已被弃用或删除。

F.1. TURN (TURN命令)

状态: 已删除

TURN命令允许客户端和服务器交换角色。由于安全问题,此命令已从SMTP中删除。

原始用途: 允许远程系统在同一连接上发送排队的邮件。

弃用原因:

  • 重大安全风险
  • 允许未经授权的中继
  • 现代网络中不需要

F.2. Source Routing (源路由)

状态: 弃用

如附录C中详细讨论的,源路由已被弃用。

要求:

  • 服务器必须 (MUST) 接受源路由语法
  • 服务器应该 (SHOULD) 剥离源路由
  • 客户端不应该 (SHOULD NOT) 生成源路由

F.3. HELO (HELO命令)

状态: 保留但不推荐

HELO命令已被EHLO取代,但为了向后兼容性保留。

推荐:

  • 客户端应该 (SHOULD) 优先使用EHLO
  • 服务器必须 (MUST) 仍然支持HELO作为后备

F.4. #-literals (#-文字)

状态: 已删除

原始RFC 821允许使用"#"符号作为十进制IP地址的前缀。这已被方括号语法取代。

旧语法: user@#123.456.789.0
新语法: user@[123.456.789.0]

F.5. Dates and Years (日期和年份)

状态: 澄清

关于两位数年份的处理已被澄清,强烈建议使用四位数年份。

F.6. Sending versus Mailing (发送与邮寄)

状态: 已删除

SEND, SOML和SAML命令已从SMTP中删除。

原始命令:

  • SEND: 直接发送到终端
  • SOML: 发送或邮寄
  • SAML: 发送并邮寄

弃用原因: 这些命令很少实现,并且在现代邮件系统中没有明确的用途。


迁移指南

实现应该:

  1. 不再生成或依赖已弃用的功能
  2. 继续接受已弃用但未删除的功能以保持兼容性
  3. 记录对已弃用功能的任何使用
  4. 计划最终删除对已弃用功能的支持

现代SMTP实现应该专注于EHLO, STARTTLS, AUTH等扩展,而不是依赖旧的RFC 821功能。