这正是电子信箱系统的核心,利用存贮转发可进行非实时通信,属异步通信方式。即信件发送者可随时随地发送邮件,不要求接收者同时在场,即使对方现在不在,仍可将邮件立刻送到对方的信箱内,且存储在对方的电子邮箱中。接收者可在他认为方便的时候读取信件,不受时空限制。在这里,“发送”邮件意味着将邮件放到收件人的信箱中,而“接收”邮件则意味着从自己的信箱中读取信件,信箱实际上是由文件管理系统支持的—个实体。因为电子邮件是通过邮件服务器(mai1 server)来传递档的。通常mail server是执行多任务操作系统UNIX的计算机,它提供24小时的电子邮件服务,用户只要向 mail server管理人员申请—个信箱账号,就可使用这项快速的邮件服务。
电子邮件在传输过程中,往往需要经过多个结点。因此每个网络结点都要安装邮件传输程序,即报文传送代理MTA,以便对邮件进行存储转发。Internet中的MTA的集合构成了报文传送系统MTS(Message Transfer System)。 电子邮件由两部分组成,即信封(envelope)和内容(content)。电子邮件的传输程序根据邮件信封上的信息来传送邮件。用户在从自己的邮箱中读取邮件时才能见到邮件的内容。在邮件的信封上,最重要的就是收信人的地址。TCP/IP体系的电子邮件系统规定电子邮件地址(email address)的格式如下:
收信人邮箱名@邮箱所在主机的域名
在发送电子邮件时,邮件传输程序只使用电子邮件地址中的后一部分,即目的主机的域名。只有在邮件到达目的主机后,接收方计算机服务器才根据电子邮件地址中的前一部分(即收信人邮箱名),将邮件送往收件人的邮箱。
电子邮件的工作原理:
1) 电子邮件系统是一种新型的信息系统,是通信技术和计算机技术结合的产物。 电子邮件的传输是通过电子邮件简单传输协议(Simple Mail Transfer Protocol,简称SMTP)这一系统软件来完成的,它是Internet下的一种电子邮件通信协议。
2) 电子邮件的基本原理,是在通信网上设立“电子信箱系统”,它实际上是一个计算机系统。系统的硬件是一个高性能、大容量的计算机。硬盘作为信箱的存储介质,在硬盘上为用户分一定的存储空间作为用户的“信箱”,每位用户都有属于自己的—个电子信箱。并确定—个用户名和用户可以自己随意修改的口令。存储空间包含存放所收信件、编辑信件以及信件存盘三部分空间,用户使用口令开启自己的信箱,并进行发信、读信、编辑、转发、存档等各种操作。系统功能主要由软件实现。
3) 电子邮件的通信是在信箱之间进行的。用户首先开启自己的信箱,然后通过键入命令的方式将需要发送的邮件发到对方的信箱中。邮件在信箱之间进行传递和交换,也可以与另—个邮件系统进行传递和交换。收方在取信时,使用特定账号从信箱提取。
第 4 页 共 15 页
电子邮件的收发过程:
图1 显示了电子邮件的收发过程原理及其在收发过程中所采用的协议,
要注意的是POP3和SMTP服务器通常是组合在一起的,这样就构成了一个完整的电子邮件服务器系统,从而可以提供完备的电子邮件收发服务。
SMTP协议 SMTP协议 SMTP协议 POP3协议 POP3.SMTP 发送端 邮件服务器 Interent 图1 电子邮件的收发过程示意图
POP3.SMTP 邮件服务器 接收端 第2章 简单邮件传输协议
2.1 SMTP 简介
电子邮件是一种最流行的网络服务。支持Internet上电子邮件的TCP/IP叫做简单邮件传输协议(SMTP)。它是基于电子邮件的系统,用来把简单邮件发给另一个计算机用户。简单邮件传输协议(SMTP)的目标是可靠高效地传送邮件,它独立于传送子系统而且仅要求一条可以保证传送数据单元顺序的通道。
SNMP 是一种无连接协议,无连接的意思是它不支持象TELNET 或FTP 这种专门的连
接。通过使用请求报文和返回响应的方式,SNMP 在管理代理和管理员之间传送信息。
SMTP 提供在相同的或不同的计算机上的用户之间的邮件交换。SMTP 支持:
1) 把邮件发送给一个或多个收信人。
2) 发送包括文本、声音、视频或图形的报文。 3) 把报文发给Internet 以外的网络上的用户。
SMTP设计基于以下通信模型:针对用户的邮件请求,发送SMTP与接收SMTP之间建立一个双向传送通道。接收SMTP可以是最终接收者也可以是中间传送者。SMTP命令由发送SMTP发出,由接收SMTP接收,而应答则反方向传送。
第 5 页 共 15 页
一旦传送通道建立,SMTP发送者发送MAIL命令指明邮件发送者。如果SMTP接收者可以接收邮件则返回OK应答。SMTP发送者再发出RCPT命令确认邮件是否接收到。如果SMTP接收者接收,则返回OK应答;如果不能接收到,则发出拒绝接收应答(但不中止整个邮件操作),双方将如此重复多次。当接收者收到全部邮件后会接收到特别的序列,如果接收者成功处理了邮件,则返回OK应答。
SMTP提供传送邮件的机制,如果接收方与发送方连接在同一个传送服务下时,邮件可以直接由发送方主机传送到接收方主机;当两者不在同一个传送服务下时,通过中继SMTP服务器传送,为了能够对SMTP服务器提供中继能力,它必须拥有最终目的主机地址和邮箱名称。
SMTP是一种请求响应协议,客户端发送命令,服务器返回响应,两者通过这种方式进行交互,以完成邮件传输过程的三个阶段:建立连接、传输数据和终止连接。
? 客户端主动连接到服务器的25端口,建立TCP连接。服务器会发送一个应答码为220的问候报文,表示已经准备就绪。
? 客户端向服务器发送HELO命令,用以标识发送方的身份,HELO命令的参数必须是一个合法的主机名。如果服务器接受了连接请求,会给客户端返回一个代码为250的应答,表示可以开始报文传输。
? 客户端发送MAIL命令标识邮件的发送方,通过FROM参数指定发送方的电子邮件地址。如果服务器准备接收邮件,则返回代码为250的OK应答。 ? 客户端发送RCPT命令标识邮件的接收方,通过TO参数指定接收方的电子邮件地址,如果有多个接收人,可以发送多个RCPT命令。如果服务器能够识别接收人,则会返回代码为250的OK应答,否则返回代码为550的失败应答。
? 客户端与服务器之间的协商结束,客户端发送DATA命令指示将要发送邮件数据,服务器端返回应答码为354的响应进行确认,表示可以开始邮件输入。客户端将邮件内容按行发送,邮件的末尾由客户端指定,是只有一个小数点(邮件数据结束指示器)的一行,服务器检测到邮件数据结束指示器后,返回代码为250的OK应答。 ? 客户端发送QUIT命令终止连接。
用户 发送 SMTP SMTP命令 邮件内容 SMTP响应 接收 SMTP 文件 系统 文件 系统 SMTP通信模型示意图
第 6 页 共 15 页
(1) SMTP 命令
SMTP命令定义了邮件传输或由用户定义的系统功能。它的命令是由
SMTP命令和FTP命令一样,都是使用NVT ASCII格式的文本,以明文传输的。SMTP简捷的原因之一是它使用的命令少,SMTP的最小实现仅需要8种命令就够了。
常用SMTP命令一览表
命令 HELO MAIL FORM RCPT TO 描述 用于启动邮件传输过程 用于初始化邮件传输 用于标识单个邮件接收人,在MAIL命令后面可有多个RCPT命令 DATA QUIT RSET VRFY 用于将邮件报文发送给服务器 用于终止客户端与服务器之间的连接 用于中止当前的邮件事务并使两端复位 用于验证指定的用户/邮箱是否存在,即验证接收方地址是否正确 NOOP 空操作命令 ? HELO命令:该命令是客户用来标识自己而使用的,其变量是客户主机的域名。
例如
HELO:smtp.bjut.edu.cn
? MAIL FROM命令:该命令是客户用来标识发信人而使用的,它的变量是发信
人的电子邮件地址。例如
MAIL FROM:wangqm@bujt.edu,cn
? RCPT TO命令:该命令是客户用来标识预期的收信人而使用的,它的变量是
收信人的电子邮件地址。若有多个收信人,则命令要重复使用。例如 RCPT TO:xiaolizi@bujt.edu.cn
? DATA命令:该命令是客户用来发送真正的报文。在DATA命令后面所有的行
都被当作是邮件报文。报文的终止是只包含一个点的行。例如
第 7 页 共 15 页
相关推荐: