计算机网络-应用层协议3(SMTP、POP3、IMAP)

1.SMTP(简单邮件传输协议)

1.1 SMTP的基本操作

计算机网络-应用层协议3(SMTP、POP3、IMAP)
假设Alice想给Bob发送一封简单的ASCII报文。

  • Alice调用她的邮件代理程序并提供Bob的邮件地址([email protected]),撰写报文,然后指示用户代理发送该报文。
  • Alice的用户代理把报文发送给她的邮件服务器,在那里报文被放在报文队列中。
  • 运行在Alice的邮件服务器上的SMTP客户端发现了报文队列中的这个报文,它就创建一个到运行在Bob的邮件服务器上的SMTP服务器的TCP连接(25端口)。
  • 在经过一些初始SMTP握手后,SMTP客户端通过该TCP连接发送Alice的报文。
  • 在Bob的邮件服务器上,SMTP服务器端接收该报文。Bob的邮件服务器然后将该报文放入Bob的邮箱中。
  • 在Bob方便的时候,他调用用户代理阅读该报文。

1.2 SMTP与HTTP的对比

相同点:

  • 都用于一台主机向另一台主机传送文件:HTTP从Web服务器向Web客户传送文件;SMTP从一个邮件服务器向另一个邮件服务器传送文件。
  • 当进行文件传送时,持续的HTTP和SMTP都是同持续TCP连接。

不同点:

  • HTTP是一个拉协议,用户使用HTTP从服务器拉取信息;SMTP是一个推协议,一个邮件服务器把文件推向另一个邮件服务器。
  • SMTP要求每个报文使用7比特ASCII格式,HTTP不受这种限制。
  • 在处理包含图像等某提类型的文件,HTTP把每个对象封装到它自己的HTTP响应报文中,而SMTP则把所有报文对象放在一个报文中。

1.3 邮件报文格式和MIME(多用途互联网邮件扩展类型)

计算机网络-应用层协议3(SMTP、POP3、IMAP)
邮件报文格式:首部行+体(两者之间用空行分隔)。
首部行必须有From:…和To:…,可能有Subject:…,如上图所示。

2.邮件访问协议

2.1 POP3(第三版邮局协议)

当用户代理打开一个到邮件服务器端口上的TCP连接后,POP3就开始工作了。工作流程分为三个阶段:特许、事务处理和更新。
特许:用户代理发送用户名和口令(明文形式)以鉴别用户。
事务处理:用户代理取回报文。还可以做以下操作:报文删除标记、取消报文删除标记以及获取邮件的统计信息。
更新:出现在用户发出quit命令后,目的是结束POP3会话。这时邮件服务器会删除那些被标记的报文。

2.2 IMAP(因特网邮件访问协议)

POP3协议只能将文件和报文下载存放在本地主机上管理;IMAP协议可以在服务器上创建文件夹并把报文存放在文件夹中。

  • 当报文第一次到达服务器时,它与收件人的INBOX文件夹相关联。收件人可以将其移动到自己创建的文件夹进行阅读或删除。此外IMAP还提供了远程文件夹中查询邮件的命令,IMAP服务器维护IMAP会话的用户状态信息。
  • IMAP另一个重要特性是它具有允许用户代理获取报文组件的命令。只获取报文的某一部分。

2.3 基于Web(HTTP)的电子邮件

  • 浏览器作为用户代理。
  • 用户从邮件服务器获取邮件通过HTTP协议进行。
  • 用户发送邮件到自己的邮件服务器时用的时HTTP协议。
  • 发送邮件服务器发送邮件给接受邮件服务器用SMTP协议。