计算机网络-应用层-因特网中的电子邮件

应用层-因特网中的电子邮件

  • 因特网中的电子邮件
    • SMTP
    • 与HTTP的对比
    • 邮件报文格式和MIME
    • 邮件访问协议
      • POP3
      • IMAP
      • 基于Web的电子邮件

因特网中的电子邮件

电子邮件具有许多强大的特性:具有附件、超链接、HTML格式文本和图片的报文。
主要组成部分:
1、用户代理允许用户阅读、回复、转发、保存和撰写报文。
完成邮件撰写时,邮件代理向其邮件服务器发送邮件。此时邮件放在邮件服务器的外出报文队列中。
2、邮件服务器形成了电子邮件体系结构的核心。
某个接收方在某个邮件服务器上有一个邮箱,邮箱管理和维护者发送给接收方的报文。发送邮件的过程:发送方的用户代理–>发送方的邮件服务器–>接收方的邮件服务器–>接收方的邮箱。
接收方读取邮箱中邮件时,包含此邮箱的邮件服务器验证接收方身份。发送方的邮箱也要能处理接收方邮件服务器。若发送方邮件服务器不能将邮件交付接收方服务器,发送方服务器在一个报文队列中保持该报文并在以后尝试再次发送。每30分钟左右发送一次,若几天内不能成功,则服务器删除该报文并通过邮件通知发送方。
3、SMTP是因特网电子邮件中主要的应用层协议。
使用TCP可靠数据传输服务,SMTP有两个部分:运行在发送方邮件服务器的客户端和运行在接收方邮件服务器的服务器端。每台邮件服务器上既运行SMTP的客户端也运行SMTP的服务器端 当一个邮件服务器向 其他邮件服务器发送邮件时.它就表现为SMTP的客户;当邮件服务器从其他邮件服务器 上接收邮件时.它就表现为一个SMTP的服务器。

SMTP

在用SMTP传送邮件之前,需要将二进制多媒体数据编码为 ASCII码,并且在使用SMTP传输后要求将相应的ASCII码邮件解码还原为多媒体数据。
接收方向接收方发送一封ASCII报文:
1、发送方调用邮件代理程序并提供接收方的地址,撰写报文,然后指示用户代理发送该报文。
2、发送方的用户代理把报文发给其邮件服务器,该报文被放在报文队列中。
3、运行在发送方的邮件服务器上的SMTP客户端发现了报文队列中的这个报文,创建一个到运行在接收方邮件服务器上的SMTP服务器的TCP连接。(如果接收方服务器没有开机,客户会在稍后继续尝试连接)。
4、经过初始的SMTP握手后,SMTP客户通过该TCP连接发送发送方的报文。
5、在接收方的邮件服务器上,SMTP的服务器端接收该报文。接收方的邮件服务器将报文放在接收方的邮箱。
6、接收方调用用户代理阅读该报文。
邮件的发送只与两个邮件服务器有关,不在某个中间邮件服务器停留。

与HTTP的对比

进行文件传送时,持续的HTTP和SMTP都使用持续连接。
区别:
1、HTTP主要是一个拉协议(pull pmtoeol), 即在方便的时候,某些人在Web服务器上装载信息,用户使用HTTP从该服务器拉取这些信息。特别是TCP连接是由想接收文件的机器发起的。另一方面,SMTP基本上是一个推 协议(push protocol),即发送邮件服务器把文件推向接收邮件服务器。特别是,这个TCP 连接是由要发送该文件的机器发起的。
2、SMTP要求每个报文(包括它们的体)使用7比特ASCII码格式。如果某报文包含了非7比特ASCII字符(如具有重音的法文字符)或二进制数据(如图形文件),则该报文必须按照7比特ASCII码进行编码。HTTP数据则不受这种限制。
3、如何处理一个既包含文本又包含图形(也可能是其他媒体类型)的文档。HTTP把每个对象封装到它自己的HTTP响应报文中;而SMTP则把所有报文对象放在一个报文之中。

邮件报文格式和MIME

一个包含环境信息的首部位于报文体前面,这些环境信息包括在 一系列首部行中。这些行由RFC 5322定义。首部行和该报文的体用空行(即冋车换行) 进行分隔。RFC 5322定义了邮件首部行和它们的语义解释的精确格式。 每个首部行包含了可读的文本,是由关键词后跟冒号及其值组成的。某些关键词是必需的,另一些则是可选的。每个首部必须含有一个From:首部行和一个To:首部行;一个首部也许包含一个Subject:首部行以及其他可选的首部行。
在报文首部之后,紧接着一个空白行,然后是以ACSII格式表示的报文体。你应当用 Telnet向邮件股务器发送包含一些首部行的报文.包括Subject:首部行。

邮件访问协议

该协议将接收方邮件服务器上的报文传送给其本地PC。目前有一些流行的邮件访问协议,包括第三版的邮局协议(Post Office PnXoc-ol—Vereion 3, POP3)、因特网邮件访问协议(Internet Mail Aceess Protocol, IMAP) 以及HTTP。
SMTP用来将邮件从发送方的邮件服务器传输到接收方的邮件服务器;SMTP也用来将邮件从发送方的用户代理传送到发送 方的邮件服务器。如POP3这样的邮件访问协议用来将邮件从接收方的邮件服务器传送到接收方的用户代理。

POP3

当用户代理(客户)打开了一个到邮件服务器(服务器)端口 110上的TCP连接后,POP3就开始工作了。
POP3按照三个阶段进行工作:
1、特许阶段。用户代理发送(以明文形式)用户名和口令以鉴别用户。
2、事务处理阶段,用户代理取回报文;同时在这个阶段用户代理还能进行如下操作,对报 文做原除标记.取消报文删除様记,以及获取邮件的统计信息。
3、更新阶段.它出现在客户发出了 quit命令之后,目的是结束该POP3会话;这时该邮件服务器删除那些被标记为删除的报文。
在POP3的事务处理过程中,用户代理发出一些命令,服务器对每个命令做出回答。 回答可能有两种:+0K (有时后面还跟冇服务器到客户的数据),被服务器用来指示前面 的命令是正常的;-ERR.被股务器用来指示前面的命令出现了某些差错。
特许阶段有两个主要的命令:user < user name >和pass< password >。
在用户代理与邮件服务器之间的POP3会话期间,该POP3服务器保留了一些状态信 息;特别是记录了哪些用户报文被标记为删除了。然而,POP3服务器并不在POP3会话过 程中携带状态信息。会话中不包括状态信息大大简化了 POP3服务的实现。

IMAP

使用POP3访何时.一旦接收方将邮件下载到本地主机后,就能建立邮件文件夹,并将下载的邮件放入该文件夹中。然后接收方可以删除报文,在文件夹之间移动报文并査询报文(通过发送方的名字或报文主题)。但是这种文件夹和报文存放在本地主机上的方式, 会给移动用户带来问题,因为他更喜欢使用一个在远程服务器上的层次文件夹,这样他可 以从任何一台机器上对所有报文进行访问。POP3不可能做到这一点,POP3协议没有给用户提供任何创建远程文件夹并为报文指派文件夹的方法。
IMAP服务器把每个报文与一个文件夹联系起来;当报文第一次到达服务器时,它与收件人的INBOX文件夹相关联。收件人则能够把邮件移到一个新的、用户创建的文件夹中,阅读邮件,刪除邮件等。IMAP协议为用户提供了创建文件夹以及将邮件从一个文件夹移动到另一个文件夹的命令。 IMAP还为用户提供了在远程文件夹中査询邮件的命令,按指定条件去査询匹配的邮件。与POP3不同,IMAP服务器维护了 IMAP 会话的用户状态信息,例如,文件夹的名字以及哪些报文与哪些文件夹相关联。
IMAP的另一个特性是它具有允许用户代理获取报文组件的命令。

基于Web的电子邮件

用户和他的远程邮箱之间的通信则通过HTTP进行。当一个收件人,想从他的邮箱中访问一个报文时,该电子邮件报文从收件人的邮件服务器发送到他的浏览器,使用的是HTTP而不是POP3或者IMAP协议。发件人要发送一封电子邮件报文时,该电子邮件报文从发件人的浏览器发送到她的邮件服务器,使用的是HTTP而不是SMTP。然而,发件人和收件人的邮件服务器在与其他的邮件服务器之间发送和接收邮件时,仍然使用的是SMTP。

你可能感兴趣的:(网络协议)