首先,來(lái)介紹一下比較常見(jiàn)的因特網(wǎng)電子郵件的流程框圖,先來(lái)直觀(guān)感受一下,假設發(fā)送的郵件的用戶(hù)名為為小明,接收郵件的用戶(hù)為小紅。
圖1:電子郵件協(xié)議及其通信實(shí)體
其中,在接收端郵件服務(wù)器(E-mail Server)與接收用戶(hù)代理(User Agent)之間常用的協(xié)議有:POP3(Post Office Protocol-Version3)和IMAP(Internet Mail Access Protocol),他們都是基于TCP傳輸協(xié)議
上圖中,小明要發(fā)送郵件,他的用戶(hù)代理(可以理解為小明電腦里的Foxmail應用程序)就通過(guò)SMTP協(xié)議將郵件發(fā)送到他的郵件服務(wù)器,郵件服務(wù)器將此郵件加入到郵件服務(wù)器的發(fā)送郵件隊列中。然后小明的郵件服務(wù)器再通過(guò)SMTP協(xié)議將此郵件發(fā)送到小紅的郵件服務(wù)器中。但是,如何將小紅郵件服務(wù)器中的郵件發(fā)送到小紅的電腦上?如果繼續使用SMTP協(xié)議,可以嗎?
答案是不可以的。
簡(jiǎn)單郵件傳輸協(xié)議(Simple Mail Transfer Protocol,SMTP),它是用于發(fā)送方的郵件服務(wù)器發(fā)送報文到接收方郵件服務(wù)器。它是一種推協(xié)議,即它是由要求發(fā)送文件的一方首先發(fā)起請求,將文件推送出去。另外,作為對比,介紹一下拉協(xié)議,拉協(xié)議有很多,比如HTTP,HTTP可以由需要資源的一方發(fā)起,比如說(shuō)用戶(hù),在web上瀏覽網(wǎng)頁(yè)的時(shí)候,打開(kāi)一個(gè)鏈接,這個(gè)時(shí)候用戶(hù)端的瀏覽器發(fā)送一個(gè)HTTP請求到服務(wù)器,服務(wù)器再將請求的資源通過(guò)HTTP響應報文的形式發(fā)送回來(lái),這是一種用戶(hù)主動(dòng)請求,然后再將資源發(fā)過(guò)來(lái)的過(guò)程。他們都是基于TCP協(xié)議
上圖中,小紅的郵件服務(wù)器接收到來(lái)自小明的郵件之后,但是這個(gè)時(shí)候,小紅的電腦處于關(guān)機狀態(tài),如果使用SMTP協(xié)議,郵件服務(wù)器發(fā)送請求,但是沒(méi)有響應,過(guò)一段時(shí)間再發(fā)請求,一直沒(méi)有響應,這樣會(huì )造成資源的浪費,也很不合理。所以就需要用到POP3和IMAP協(xié)議。
POP3是一種極為簡(jiǎn)單的郵件訪(fǎng)問(wèn)協(xié)議,功能上較IMAP要差些。POP3按照3個(gè)階段進(jìn)行工作:特許、事務(wù)處理以及更新。
1、特許階段,用戶(hù)代理發(fā)送用戶(hù)名和口令
2、事務(wù)處理階段:用戶(hù)代理取回報文;還可以對報文做刪除標記,取消報文刪除標記,以及獲取郵件的統計信息
3、更新階段:結束該POP3會(huì )話(huà);這個(gè)時(shí)候該郵件服務(wù)器刪除那些被標記的刪除的報文。
總結起來(lái)就是:先是發(fā)送用戶(hù)的信息進(jìn)行登錄,然后具體的操作,是看郵件呢,還是刪郵件,最后是結束會(huì )話(huà)。
再介紹IMAP之前,來(lái)介紹一下POP3的很大的缺點(diǎn),它不是雙向的。當用戶(hù)用用戶(hù)代理將郵件存儲在本地之后,在本地所進(jìn)行的對郵件的刪除等操作,不會(huì )對用戶(hù)的郵件服務(wù)器造成影響。但是IMAP解決了這樣的問(wèn)題
IMAP是一種郵件訪(fǎng)問(wèn)協(xié)議,但是它比POP3有更多的特色,但同時(shí)也比POP3要更復雜。它是雙向的,將本地的郵件與遠程的服務(wù)器聯(lián)系起來(lái)。在本地所進(jìn)行的操作可以與郵件服務(wù)器同步。
來(lái)看一下QQ郵箱中對于POP3和IMAP的區別的介紹:


聯(lián)系客服