商业转载请联系作者获得授权,非商业转载请注明出处。
作者:永遇乐
链接:http://www.zhihu.com/question/24605584/answer/29039357
来源:知乎
<img src="//bbsmax.ikafan.com/static/L3Byb3h5L2h0dHBzL3BpYzQuemhpbWcuY29tLzU3MDRlOTc1YjJkYTg4NTk3NzhlNTliYjFmYjZhMzA3X2IuanBn.jpg" data-rawwidth="468" data-rawheight="336" class="origin_image zh-lightbox-thumb" width="468" data-original="https://pic4.zhimg.com/5704e975b2da8859778e59bb1fb6a307_r.jpg">
简单地说,SMTP管‘发’, POP3/IMAP管‘收’。
举个例子,你坐在电脑边用mail client写完邮件,点击‘发送’。这时你的mail client会发消息给邮件服务器上的SMTP service。这时有两种情况:
- 如果邮件的收信人也是处于同一个domain,比如从http://163.com发送给163的邮箱,SMTP service只需要转给local的POP3 Service即可
- 如果邮件收信人是另外的domain,比如http://163.com发送给http://sina.com, SMTP service需要通过询问DNS, 找到属于sina的SMTP service的host
SMTP service收到邮件后转给负责接收邮件的POP3 service
POP3 service和IMAP的区别主要是:
- POP3是比较老的protocol,主要为了解决本地机器和远程邮件服务器链接的问题,每次邮件会download到本地机器,然后从远程邮件服务器上删掉(当然特殊config除外),然后进行本地编辑。这样的问题是如果从多个终端链接服务器,只有第一个下载的能看到,现在pop4正在讨论中
- IMAP是比较新的(好吧,好像也是80年代的产物)protocol,可以将邮件分文件夹整理,然后这些信息也存在远程的邮件服务器上,读取邮件后,服务器上不删除。原理上IMAP应该是相当于oneline编辑,但现在的mail client基本都有在本地存copy的功能
Exchange主要是MS自己的一套东东
POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上。比如通过客户端收取了邮箱中的2封邮件并移动到其他文件夹,邮箱服务器上的这些邮件是没有同时被移动的 。
IMAP提供webmail 与电子邮件客户端之间的双向通信,客户端的操作都会反馈到服务器上,对邮件进行的操作,服务器上的邮件也会做相应的动作。
这意味着当您使用网络浏览器登录到邮箱时,您在电子邮件客户端和移动设备上执行的操作(例如,将邮件移至“分享”文件夹)将立即自动反映在邮箱中(例如,在您下次登录时,这封电子邮件已具有一个“分享”标签)。
IMAP 还提供了从多台设备访问邮件的更好方法。如果您在单位、在手机上,然后还要在家里查看电子邮件,IMAP 可确保您随时能够从任何设备访问新的邮件。
IMAP像POP3那样提供了方便的邮件下载服务,让用户能进行离线阅读。IMAP提供的摘要浏览功能可以让你在阅读完所有的邮件到达时间、主题、发件人、大小等信息后才作出是否下载的决定。
最后,IMAP 可以从整体上提供更稳定的使用体验。POP3 更易丢失邮件或多次下载相同的邮件,而 IMAP 则可以通过在邮件客户端和网络邮箱之间进行双向同步的功能来避免这种情况。