1. 程式人生 > >SMTP、POP3和IMAP郵件協議

SMTP、POP3和IMAP郵件協議

目錄

SMTP

POP

IMAP

總結


今天入職第一天,公司讓配置個人的內網、外網郵箱,這可把我給搞暈了,本來以前就對郵箱這塊不是很瞭解,平時也不怎麼用郵箱,頂多有個QQ郵箱而已。今天,趁著配置公司的個人內外網郵箱,查了下資料,梳理了一下這三種協議的區別。

首先,SMTP、POP和IMAP都是與郵件有關的協議。SMTP主要是負責傳送郵件,而POP和IMAP是負責接收郵件。

SMTP

SMTP (Simple Mail Transfer Protocol),即簡單郵件傳輸協議,預設埠是25,通過SSL協議加密之後的預設埠是465。它是用於從源地址到目的地址傳輸郵件的協議,通過它來控制郵件的中轉方式。SMTP 協議屬於 TCP/IP 協議簇,它幫助每臺計算機在傳送或中轉信件時找到下一個目的地。SMTP是一個 “推” 的協議,它不允許根據需要從遠端伺服器上 “拉” 來訊息。
SMTP 認證:簡單地說就是要求必須在提供了賬戶名和密碼之後才可以登入 SMTP 伺服器,這就使得那些垃圾郵件的散播者無可乘之機。增加 SMTP 認證的目的是為了使使用者避免受到垃圾郵件的侵擾。

SMTP 伺服器就是裝有 SMTP 協議的伺服器。

POP

POP(Post Office Protocol)郵局通訊協議,POP是網際網路上的一種通訊協議,主要功能是用在接收電子郵件時。當我們寄信給另外一個人時,對方當時多半不會在線上,所以郵件伺服器必須為收信者儲存這封信,直到收信者來檢查這封信件。當收信人收信的時候,必須通過POP通訊協定,才能取得郵件。

POP3是Post Office Protocol 3的簡稱,即郵局協議的第3個版本,是TCP/IP協議族中的一員,預設埠是110,通過SSL協議加密之後的預設埠是995。POP3協議主要用於支援使用客戶端遠端管理在伺服器上的電子郵件。它規定怎樣將個人計算機連線到Internet的郵件伺服器和下載電子郵件的電子協議。它是因特網電子郵件的第一個離線協議標準,POP3允許使用者從伺服器上把郵件儲存到本地主機(即自己的計算機)上,同時刪除儲存在郵件伺服器上的郵件。

POP3伺服器就是裝有POP3協議的伺服器。

IMAP

IMAP (Internet Mail Access Protocol),即互動式郵件存取協議,是一個應用層協議,預設埠是143,通過SSL協議加密之後的預設埠是993。用來從本地郵件客戶端,如Outlook Express、Foxmail、Mozilla Thunderbird等訪問遠端伺服器上的郵件。它和POP3類似郵件訪問標準協議類似。不同的是,開啟了IMAP後,您在電子郵件客戶端收取的郵件仍然保留在伺服器上,同時在客戶端上的操作都會反饋到伺服器上,如:刪除郵件,標記已讀等,伺服器上的郵件也會做相應的動作。同時,IMAP像POP3那樣提供了方便的郵件下載服務,讓使用者能進行離線閱讀。IMAP提供的摘要瀏覽功能可以讓你在閱讀完所有的郵件到達時間、主題、發件人、大小等資訊後才作出是否下載的決定。此外,IMAP 更好地支援了從多個不同裝置中隨時訪問新郵件。所以無論從瀏覽器登入郵箱或者客戶端軟體登入郵箱,看到的郵件以及狀態都是一致的。也就是說,IMAP提供了比POP3更為強大的功能。IMAP伺服器就是裝有IMAP協議的伺服器。

總結

其實,SMTP、POP3和IMAP協議就和HTTP、DNS等其他協議類似。只不過是為了實現某個功能而設計的一組規範而已,而裝有這些協議的伺服器就可以稱為該協議的伺服器。比如,一臺伺服器同時裝有SMTP、POP3、HTTP協議,那麼,它既可以稱為SMTP伺服器,也可以稱為POP3伺服器,同時還可以稱為HTTP伺服器。因為,它同時提供了這些功能。

一般情況下,小型的提供郵件服務的網站,他們的郵件伺服器同時提供了SMTP、POP3和IMAP的功能。但是對於大型的提供郵件服務的網站,他們的SMTP伺服器和POP3伺服器以及IMAP伺服器都是分開的。

當我們給其他人傳送電子郵件時,我們需要寫我們的郵件地址和對方的郵件地址,那麼現在有下面兩種情況:

  • 當對方和我們屬於同一個域時,也就是當我們是QQ郵箱,對方也是QQ郵箱。這樣,我們把郵件給了我們的SMTP伺服器,然後SMTP伺服器只需要轉給本地的POP3伺服器即可。
  • 當對方和我們不屬於同一個域時,也就是當我們是QQ郵箱,而對方是163郵箱的話。我們把郵件給了我們的SMTP伺服器,然後我們的SMTP伺服器通過查詢DNS得到對方郵箱的SMTP伺服器,然後將郵件通過SMTP協議傳送給對方的SMTP伺服器。

那麼,對方是如何接受我們的電子郵件的呢?也有下面兩種情況:

  • 當對方使用的是POP3協議的話,他可以使用郵件客戶端對郵件進行接收以及操作。比如移動該郵件,刪除該郵件,標記該郵件為已讀,但是這些操作並不會反饋到郵箱伺服器上。也就是說,你在本地對郵件進行的操作和郵箱伺服器是不同步的。
  • 當對方使用的是IMAP協議的話,IMAP提供郵件伺服器與郵件客戶端之間的雙向通訊,客戶端的操作都會反饋到伺服器上,對郵件進行的任何操作,伺服器上的郵件也會做相應的動作。也就是說,你在本地對郵件進行的操作和郵箱伺服器是同步的。