第28章 SMTP: 简单邮件传送协议

28.1 引言

电子邮件(e - m a i l)无疑是最流行的应用程序。 [Caceres et al.1991]说明,所有T C P连接中大约一半是用于简单邮件传送协议 SMTP (Simple Mail Transfer Protocol)的(以比特计算为基础,F T P连接传送更多的数据)。[Paxson 1993] 发现,平均每个邮件中包含大约 1 5 0 0字节的数据,但有的邮件中包含兆比特的数据,因为有时电子邮件也用于发送文件。

图2 8 - 1显示了一个用T C P / I P交换电子邮件的示意图。

速读原著-TCP/IP(SMTP: 简单邮件传送协议)_首部

用户与用户代理(user agent)打交道,可能会有多个用户代理可供选择。常用的 U n i x上的用户代理包括M H,Berkeley Mail, Elm和M u s h。 用T C P进行的邮件交换是由报文传送代理 M TA(Message Transfer Agent)完成的。最普通的U n i x系统中的M TA是S e n d m a i l。用户通常不和M TA打交道,由系统管理员负责设置本地的M TA。通常,用户可以选择它们自己的用户代理。

本章研究在两个M TA之间如何用T C P交换邮件。我们不考虑用户代理的运行或实现。RFC 821 [Postel 1982] 规范了S M T P协议,指定了在一个简单T C P连接上,两个M TA如何进行通信。RFC 822 [Crocker 1982] 指定了在两个M TA之间用RFC 821 发送的电子邮件报文的格式。

28.5 小结

电子邮件包括在两端(发送方和接收方)都有的一个用户代理以及两个或多个报文传送代理。可以把一个邮件报文分成三个部分:信封、首部和正文。我们已经看到这三个部分用S M T P和I n t e r n e t标准是如何进行交换的。所有都作为 NVT ASCII字符进行交换。

我们也看到了一些新的扩充:用于信封和非 A S C I I首部的扩充S M T P,以及使用M I M E的正文增加了结构。M I M E的结构和编码允许使用已有的 7bit SMTP MTA交换任意二进制数据。