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: 发送并邮寄
弃用原因: 这些命令很少实现,并且在现代邮件系统中没有明确的用途。
迁移指南
实现应该:
- 不再生成或依赖已弃用的功能
- 继续接受已弃用但未删除的功能以保持兼容性
- 记录对已弃用功能的任何使用
- 计划最终删除对已弃用功能的支持
现代SMTP实现应该专注于EHLO, STARTTLS, AUTH等扩展,而不是依赖旧的RFC 821功能。