简单邮件传输协议

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

(重定向自SMTP)

简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)

目录

什么是简单邮件传输协议[1]

  简单邮件传输协议是指TPTCP/IP网络在MTA之间传递邮件的协议。SMTP是目前使用最广泛的邮件协议,UA向MTA发送电子邮件也使用SMTP。

简单邮件传输协议的内容[1]

  SMTP使用的TCP端口号是25,接收端在TCP的25号端口等待发送端来的E-mail,发送端向接收方(即服务器)发出连接要求,一旦连接成功,即进行邮件信息交换,邮件传递结束后释放连接。图1列出了SMTP协议的常用命令。

  图1  SMTP协议的常用命令

  Image:SMTP协议的常用命令.jpg

  下面给出一个用SMTP传递邮件的典型过程。例如,我们假定一个名叫unix.ict.ac.cn的计算机(作为域ict.ac.cn的邮件服务器)要发送下列信件:

  Date:Sat 27 April 2002 13:26:3l BJ

  From:lu@ ict.ac.cn

  TO:liu @ cnc.ac.cn

  Subject:meetinq

  Let us get together Monday at lpm

  首先要注意的是,根据SMTP标准(RFC822),信件必须用纯ASCII码发送。该标准还规定了诸如邮件头、空一行、然后是信件本体这样的通用结构。详细定义的邮件头中行的语法,由关键字(keyword)及随后的具体值(value)两部分组成。在我们的例子中,收件人由liu @ cnc.ac.cn表示,它简单地对应计算机xenix.cnc.ac.cn(作为域cnc.ac.cn的邮件服务器)上的用户liu;发件人由1u @ ict.ac.cn表示,它对应计算机unix.ict.ac.cn上的用户1u。

  发送方邮件软件从本地计算机的通信主机登记表(在UNIX操作系统上,主机表放在/etc/hosts文件中)或网上的名字服务器那里得知xenix.cnc.ac.cn的IP地址是128.6.4.2,然后邮件程序打开一个连接到128.6.4.2的25号端口。unix和xenix都是多用户操作系统,双方计算机的邮件服务都位于本地主机。25号是众所周知的接收邮件的端口号。一旦连接建立,发送方邮件程序就开始发送命令。下面列出的是典型会话:

  Image:发送方邮件软件典型会话.jpg

  每行开头都标出该行信息是从unix还是从xenix发出的。在我们的例子中是unix主动发起连接的。按照标准,命令都使用普通正文。在示例会话中,命令HELO、MAIL、RCPT、DATA和QUIT都足标准ASCII命令,这样就给观察和诊断带来方便,可以将每个会话的轨迹放在一个记录文件中,以供检查,标准还规定,应答都以数字开头,并限定可以使用的应答格式。使用数字保证用户程序的应答无二义性。应答数字的后面辅以正文,通常只是为了供人阅读和记录,对于程序的操作没有影响。可能已经注意到了,会话以HELO起始,它给出启动连接的发送端邮件服务器的域名,然后描述发送者和接收者。如果邮件要发给多个用户,则可以有多个RCPT命令。最后发送数据。要注意,邮件的正文用仅包含一个句点“·”的行结束。

  需要强调的是,SMTP规定了对任一给定命令可以发送的应答。以2开头的应答表示成功,以3开头的应答表明需要有进一步的动作。4和5开头表示错误:4开头是暂时性错误,比如磁盘满;5开头则是永久性错误,例如接收用户不存在。图2列出了SMTP协议的应答代码。这些应答代码分类如图3所示。

  图2  SMTP协议的应答代码

  Image:SMTP协议的应答代码.jpg

  图3  SMTP应答代码分类

  Image:SMTP应答代码分类.jpg

  从上面的例子可以看出,邮件传递分五大部分:第一部分是建立邮件连接,第二部分是标识发送者,第三部分是标识接收者,第四部分是传递邮件数据,第五部分是结束邮件连接。

参考文献

  1. 1.0 1.1 鲁士文编著.多媒体网络技术与应用.清华大学出版社,2002年10月第1版.
本条目对我有帮助0
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您认为本条目还有待完善,需要补充新内容或修改错误内容,请编辑条目

本条目由以下用户参与贡献

jane409,Dan.

评论(共0条)

提示:评论内容为网友针对条目"简单邮件传输协议"展开的讨论,与本站观点立场无关。

发表评论请文明上网,理性发言并遵守有关规定。

打开APP

以上内容根据网友推荐自动排序生成