本文出自: 作者: (2001-11-23 07:08:00)
1. 介绍
简单邮件传输协议(SMTP)的目标是可靠高效地传送邮件,它独立于传
送子系统而且仅要求一条可以保证传送数据单元顺序的通道。附录A,B,C
和D描述了不同传送服务下SMTP的使用。在名词表中还定义了本文档中使用
的术语。
SMTP的一个重要特点是它能够在传送中接力传送邮件,传送服务提供了
进程间通信环境(IPCE),此环境可以包括一个网络,几个网络或一个网络
的子网。理解到传送系统(或IPCE)不是一对一的是很重要的。进程可能直
接和其它进程通过已知的IPCE通信。邮件是一个应用程序或进程间通信。邮
件可以通过连接在不同IPCE上的进程跨网络进行邮件传送。更特别的是,邮
件可以通过不同网络上的主机接力式传送。
2. SMTP模型
SMTP设计基于以下通信模型:针对用户的邮件请求,发送SMTP建立与接
收SMTP之间建立一个双向传送通道。接收SMTP可以是最终接收者也可以是中
间传送者。SMTP命令由发送SMTP发出,由接收SMTP接收,而应答则反方面传
送。
一旦传送通道建立,SMTP发送者发送MAIL命令指明邮件发送者。如果
SMTP接收者可以接收邮件则返回OK应答。SMTP发送者再发出RCPT命令确认邮件
是否接收到。如果SMTP接收者接收,则返回OK应答;如果不能接收到,则发出
拒绝接收应答(但不中止整个邮件操作),双方将如此重复多次。当接收者收
到全部邮件后会接收到特别的序列,如果接收者成功处理了邮件,则返回OK应
答。
SMTP提供传送邮件的机制,如果接收方与发送方连接在同一个传送服务下
时,邮件可以直接由发送方主机传送到接收方主机;或者,当两者不在同一个
传送服务下时,通过中继SMTP服务器传送。为了能够对SMTP服务器提供中继能
力,它必须拥有最终目的主机地址和邮箱名称。
MAIL命令参数是回复路径,它指定邮件从何处来;而RCPT命令的参数是转
发路径的,它指定邮件向何处去。向前路径是源路径,而回复路径是返回路径
(它用于发生错误时返回邮件)。
当同一个消息要发往不同的接收者时,SMTP遇到了向不同接收者发送同一
份数据的复制品的问题,邮件命令和应答有一个比较奇怪的语法,应答也有一
个数字代码。在下面,例子中可以看到哪些使用实际的命令和应答。完整的命