電子郵件協議之SMTP與IMAP的區別
作者 | 李佳斌,單位:中國移動智慧家庭運營中心
?Labs 導讀
隨著移動辦公越來越普及,我國的各個產業逐步進入數字化轉型階段。電子郵件逐漸成為移動辦公體系中發布重要信息,落實各類紀要,記錄重要環節的最主要的手段。那電子郵件是如何進行交互傳輸的?什么是電子郵件協議?作為電子郵件協議中最常用的SMTP和IMAP兩種協議,它們有什么區別?本文將會對這些問題做一個深入淺出的介紹。
數字化轉型時代
移動辦公體系越來越普及
交流成本越來越低~
在信息流通和分享過程中
大量企業都選擇了??
......
作為重要信息交互的載體
那電子郵件是怎么交互傳輸的?
不同的電子郵件協議又有什么區別?
本期Labs帶大家認識下
電子郵件協議的那些事兒??
Part 01 什么是電子郵件協議
在介紹電子郵件協議前,先簡單介紹一下什么是通信協議。通信協議簡單來說就是電子設備交互是所使用的一套標準化的規則。各方按照這個規則進行數據封裝和解析。最常見的通信協議包括TCP/IP、HTTP超文本傳輸協議、UDP用戶數據報協議、FTP文本傳輸協議等。電子郵件協議,顧名思義就是電子郵件交互過程中使用到的標準規則。
- 分類
電子郵件通信過程中使用到協議,目前主要分為以下三類:
- SMTP:簡單郵件傳輸協議。
- IMAP:互聯網消息訪問協議。
- POP:郵局協議。
下圖展示了電子郵件交互的一個基本過程。
Part 02 什么是SMTP
- 介紹
SMTP(SimpleMailTransferProtocol)是一種簡單郵件傳輸協議,是電子郵件協議中的行業標準協議。主要用于從源地址到目的地址傳輸郵件的規范,控制郵件的中轉方式。在起草電子郵件并發起發送命令或者中轉郵件的時候,就會使用此協議。SMTP電子郵件服務器分為兩種:中繼器和接收器。SMTP中繼器處理來自其他服務器的郵件,然后將它按照正確的方向傳遞給其他SMTP服務器。接收器接收從中繼服務器中發送過來的郵件,然后遞送給收件人郵箱所在的郵件服務器。SMTP參與的階段圖如下。
- 通信三階段
SMTP協議通信的交流模型可以簡單概括,當用戶需要發送郵件時郵件發送者與郵件接受者建立一個通信通道,通道建立后發送者通過各種命令進行郵件數據的發送,郵件發送完成后,終止通信通道。接下來具體講講每個步驟。
SMTP握手
SMTP客戶端和服務器需要先建立連接,客戶端通過25端口號申請與服務器建立TCP連接,服務器應答220并返回服務器域名;客戶端收到應答碼后發送HELLO命令和客戶端標識信息,啟動SMTP會話通道;服務端回應250應答碼,會話通道正式建立。
電子郵件傳輸
客戶端發送MAIL命令報告發送人的郵箱和域名,如果接受者接收這個郵件,就回復應答碼250,接著客戶端發送RCPT命令來指定收件人的郵箱和域名,如果被接收同樣回復應答碼250,如果不接受則拒絕(不會終止整個通話)。接收者郵箱確定后,客戶端用DATA命令指示要發送數據,服務器響應354應答碼,客戶端開始傳輸報文并用一個” . “結束發送。如果數據被接收,會收到250應答碼。
關閉通道
客戶端發送QUIT命令關閉通道,服務端響應221應答碼關閉成功。
- 特點
- SMTP支持“郵件中繼”,為郵件轉發提供條件。
- SMTP支持多種通信方法。
- SMTP的錯誤處理能力很特殊,通過必要的措施成功響應錯誤的請求。
- SMTP可以配置為郵件網關。
Part 03 什么是IMAP
- 介紹
IMAP(InternetMessageAccessProtocol)是一個應用層的協議,是一種臨時郵件訪問協議,也被稱為交互式郵件訪問協議和Internet郵件訪問協議。IMAP不會用于發送郵件,主要用于管理郵件以及從服務器上檢索電子郵件,獲取郵件的信息,下載郵件等,它是檢索郵件中最常用的協議。另外一個常用的檢索郵件的協議是POP3。相比于POP3,IMAP可以通過客戶端直接對服務器郵件進行操作,無需把郵件全部下載到本地再去管理。IMAP通過143端口進行拉取,如下圖所示。
- 通信流程
- 收件人的電子郵件客戶端與電子郵件服務器進行連接;
- 收件人查看服務器上的郵件標題;
- 當SMTP傳輸響應成功時,收件人的電子郵件客戶端會通過IMAP獲取消息并保存到接收方的收件箱中;
- 開始閱讀郵件是,IMAP就會開始下載它。
- 特點
- IMAP保證了用戶可以再多個設備上接收郵件。
- IMAP采用延遲下載的方式,如果沒有打開郵件,IMAP就不會進行下載。這種機制也確保了下載多媒體文件會比較容易。
- IMAP提供了標記用來跟蹤正在查看的郵件信息。
- IMAP也存在一個缺點,當網絡不好時,用戶可能無法正確閱讀郵件。
Part 04 SMTP與IMAP的區別與互補
現在我們可以總結下SMTP與IMAP的主要區別 。
- SMTP代表簡單郵件傳輸協議,而IMAP代表Internet訪問消息協議。
- SMTP僅用于發送消息,而IMAP不能用于發送消息,可用于管理和檢索消息。
- SMTP可用于在客戶端和服務器之間以及在兩臺服務器之間傳輸消息。但IMAP只支持將消息從服務器傳輸到客戶端。
- SMTP允許您在客戶端存儲上組織電子郵件,而IMAP用戶可以靈活地在服務器上組織和管理郵件。
- SMTP工作在端口25(用于郵件傳輸的標準端口)、587(TLS加密)、465(發送安全消息時可以使用)、2525(非加密電子郵件時可以使用)。另一方面,IMAP工作在端口993(安全TLS/SSL端口,也稱為IMAPS)、端口143(默認端口)。
- IMAP為用戶提供了很大的靈活性并通過多個設備進行訪問,而SMTP允許在成功發送電子郵件后更改電子郵件。
當然,實際運用過程中,如下圖展示,我們是將SMTP與IMAP結合互補進行使用。