计算机网络(邮件访问协议_POP3&IMAP)

    书籍:《计算机网络_自动向下方法》
     一旦SMTP将邮件报文从A的邮件服务器交付给B的邮件服务器,该报文就被放入了B的邮箱中。假设B在其本地PC上运行用户代理程序,考虑在他的本地PC上也放置一个邮件服务器。在这种情况下,A的邮件服务器就能直接与B的PC进行对话,然而这种方法会有一个问题,若B的邮件服务器位于其PC上,那他的PC就要日夜不停的运行着,因为他要及时的接收可能在任何时候到达的新邮件,这对我们这些普通互联网用户来说是不太现实的。
    像B这种接收方,是如何通过运行其本地PC上的用户代理,获取位于他的某ISP的邮件服务器上的邮件呢?我们之前已经知道SMTP只是一个“推”协议,只负责将邮件发出去,不负责获取。因此又出现了矛盾,B如何获取邮件?这样就催使了邮件访问协议的出现。
    邮件访问协议主要有POP3、IMAP两种,现在POP3占主流吧。
    POP3是一个极为简单的邮件访问协议,当用户代理打开了一个到邮件服务器端口110上的TCP连接后,POP3就开始工作。随着TCP的连接,POP3按照三个阶段进行工作:特许→事务处理→更新
    在第一个阶段即特许阶段,用户代理发送用户名和口令以鉴别用户;
    在第二个阶段即事物处理阶段,用户取回报文,同时在这个阶段用户代理还能进行删除标记、获取邮件的统计信息;
    在第三个阶段即更新阶段,它出现在客户发出了quit命令之后,目的是结束该POP3会话,这时该邮件服务器删除那些标记为删除的报文。
    POP3用户代理发出的命令虚了取决于用户代理程序被配置为两种工作方式的一种(下载并删除/下载并保留)。使用下载并删除方式,用户代理发出list、retr和dele命令。这些命令在RFC 1939文档中被定义。在处理quit命令后,POP3服务器进入更新阶段,开始删除被标记删除标记的邮件。
    使用下载并删除方式存在的问题是,邮件接收方B可能是移动的,可能希望从多个不同的机器访问他的邮件报文,如果他用办公司里的PC访问邮件,而又是利用下载并删除方式,那么他回到家里用PC就不能再收取该邮件。利用下载并保留方式就可以拟补这个问题。
    在用户代理与邮件服务器之间的POP3会话期间,该POP3服务器保留了一些状态信息,特别是记录哪些用户报文被标记为删除了。然而。POP3服务器并不在POP3会话过程中携带状态信息,大大简化了POP3服务的实现。
    使用POP3访问时,一旦B将邮件下载到本地主机后,他就能建立邮件文件夹,并将下载的邮件放入该文件夹中,然而B可以删除报文,在文件夹中移动报文,但是这种文件夹和报文放在本地主机上的方式有一个问题,如果用户是移动的,想从任何一台机器上对所有报文进行访问,而POP3不可能做到这一点。因此IMAP出现了。
    IMAP与POP3差不多,IMAP也是一个邮件访问协议,但是它比POP3复杂,具有更多特色。IMAP服务器把每个报文与一个文件夹联系起来,当报文第一次到达服务器时,它与收件人的文件夹关联,收件人则能够把邮件移动到一个新的文件夹中,阅读、删除。IMAP协议为用户提供了创建文件以及将邮件从一个文件夹移动到另一个文件夹的命令,IMAP还为用户提供了在远程文件夹中查询邮件的命令,IMAP服务器与POP3不同的是IMAP会维护会话的用户状态信息,例如文件的名字以及哪些报文与哪些文件夹关联。
    现在许多的基于web的电子邮件,将电子邮件报文从某浏览器发送到他人的邮件服务器,使用的是HTTP而不是SMTP,而A的邮件服务器在与其他邮件服务器之间发送和接收邮件时,仍然使用的是SMTP。

你可能感兴趣的:(计算机网络)