你真的了解電子郵件系統的組成和結構嗎?(SMTP、POP3、IMAP、MIME……)


文章轉自:https://blog.csdn.net/weixin_43914604/article/details/105896201

學習課程:《2019王道考研計算機網絡》

學習目的:利用最省時間的方法學習考研面試中的計算機網絡。


1、思維導圖

在這里插入圖片描述

2、電子郵件的信息格式

  • 一個電子郵件分為信封和內容兩大部分,郵件內容分為首部和主體兩部分。
  • RFC 822規定了郵件的首部格式,而郵件的主體部分則讓用戶自由撰寫。
  • 用戶寫好首部后,郵件系統自動地將信封所需的信息提取出來並寫在信封上,用戶不需要親自填寫信封上的信息。
  • 郵件內容的首部包含一些首部行每個首部行由一個關鍵字后跟冒號再后跟值組成。有些關鍵字是必需的,有些則是可選的。最重要的關鍵字是To:和Subject。
  • To是必需的關鍵字,后面填入一個或多個收件人的電子郵件地址。
    電子郵件地址的規定格式為:收件人郵箱名@郵箱所在主機的域名
    如abc@cskaoyan.com,其中收信人郵箱名即用戶名,abc在cskaoyan.com這個郵件服務器上必須是唯一的 。這也就保證了abc@cskaoyan.com 這個郵件地址在整個因特網上是唯一的。
  • Subject是可選關鍵字,是郵件的主題,反映了郵件的主要內容。
  • 還有一個必填的關鍵字是From,但它通常由郵件系統自動填入。
  • 首部與主體之間用一個空行進行分割。典型的郵件內容如下:
    在這里插入圖片描述

3、電子郵件系統的組成結構

  • 電子郵件是一種異步通信方式,通信時不需要雙方同時在場。
  • 電子郵件把郵件發送到收件人使用的郵件服務器,並放在其中的收件人郵箱中,收件人可以隨時上網到自己使用的郵件服務器進行讀取。在這里插入圖片描述

  • 一個 電子郵件系統應具有三個最主要的組成構件:
    用戶代理(User Agent)
    郵件服務器
    電子郵件使用的協議,如SMTP、POP3 (或IMAP)等。
    在這里插入圖片描述

用戶代理(UA):用戶與電子郵件系統的接口。

  • 用戶代理使用戶能夠通過一個很友好的接口發送和接收郵件,用戶代理至少應當具有撰寫、顯示和郵件處理的功能。
  • 通常情況下,用戶代理就是一個運行在PC上的程序,常見的有Outlook、Foxmail 和Thunderbird等。

郵件服務器:組成電子郵件系統的核心。

  • 郵件服務器的功能是發送和接收郵件,同時還要向發信人報告郵件傳送的情況(已交付、被拒絕、丟失等)。
  • 郵件服務器采用客戶/服務器方式工作,但它能夠同時充當客戶和服務器。
  • 例如,當郵件服務器A向郵件服務器B發送郵件時,A就作為SMTP客戶,而B是SMTP服務器;反之,當B向A發送郵件時,B就是SMTP客戶,而A就是SMTP服務器。

郵件發送協議和讀取協議:

  • 郵件發送協議用於用戶代理向郵件服務器發送郵件或在郵件服務器之間發送郵件,通常使用的是SMTP;
  • 郵件讀取協議用於用戶代理從郵件服務器讀取郵件,如POP3
  • SMTP采用的是“推”(Push)的通信方式,即在用戶代理向郵件服務器發送郵件及在郵件服務器之間發送郵件時,SMTP客戶端主動將郵件“推”送到SMTP服務器端。
  • POP3采用的是“拉”(Pull)的通信方式,即用戶讀取郵件時,用戶代理向郵件服務器發出請求,“拉”取用戶郵箱中的郵件。

4、電子郵件協議

(1)SMTP

在這里插入圖片描述

①連接建立
在這里插入圖片描述

  • 發件人的郵件發送到發送方郵件服務器的郵件緩存中后,SMTP客戶就每隔一定時間對郵件緩存掃描一次。
    如發現有郵件,就使用SMTP的熟知端口號(25) 與接收方郵件服務器的SMTP服務器建立TCP連接。
  • 連接建立后,接收方SMTP服務器發出220 Service ready (服務就緒)。然后SMTP客戶向SMTP服務器發送HELLO命令,附上發送方的主機名。
  • SMTP不使用中間郵件服務器。
    TCP連接總是在發送方和接收方這兩個郵件服務器之間直接建立,而不管它們相隔多遠。
    接收方的郵件服務器因故障暫時不能建立連接時,發送方的郵件服務器只能等待一段時間后再次嘗試連接。

②郵件傳送

在這里插入圖片描述

  • 連接建立后,就可開始傳送郵件。郵件的傳送從MAIL命令開始,MAIL 命令后面有發件人的地址。如MAIL FROM: hoopdog@hust.edu.cn。
  • 若SMTP服務器已准備好接收郵件,則回答250 OK。
  • 接着SMTP客戶端發送一個或多個RCPT (收件人recipient的縮寫)命令,格式為RCPTTO: <收件人地址>。
    每發送一個 RCPT命令,都應有相應的信息從SMTP服務器返回,如250 OK或550 No such user here (無此用戶)。
    RCPT命令的作用是,先弄清接收方系統是否已做好接收郵件的准備,然后才發送郵件,以便不至於發送了很長的郵件后才知道地址錯誤,進而避免浪費通信資源。
  • 獲得0K的回答后,客戶端就使用DATA命令,表示要開始傳輸郵件的內容。
    正常情況下,SMTP服務器回復信息是354 Start mail input; end with . 。表示回車換行。此時SMTP客戶端就可開始傳送郵件內容,並用. (兩個回車,中間一個點)表示郵件內容的結束。

③連接釋放

  • 郵件發送完畢后,SMTP客戶應發送QUIT命令。
  • SMTP服務器返回的信息是221 (服務關閉),表示SMTP同意釋放TCP連接。郵件傳送的全部過程就此結束。

(2)MIME—多用途網絡郵件擴充

  • 由於SMTP只能傳送一定長度的ASCII碼,許多其他非英語國家的文字(如中文、俄文,甚至帶重音符號的法文或德文)就無法傳送,且無法傳送可執行文件及其他二進制對象,因此提出了多用途網絡郵件擴充( Multipurpose Internet MailExtensions,MIME)。
  • MIME並未改動SMTP或取代它。MIME的意圖是繼續使用目前的格式,但增加了郵件主體的結構,並定義了傳送非ASCII碼的編碼規則。也就是說,MIME郵件可在現有的電子郵件程序和協議下傳送。MIME與SMTP的關系如圖在這里插入圖片描述

MIME主要包括以下三部分內容:

  • ①5個新的郵件首部字段,包括MIME版本、內容 描述、內容標識、內容傳送編碼和內容類型。
  • ②定義了許多郵件內容的格式,對多媒體電子郵件的表示方法進行了標准化。
  • ③定義了傳送編碼,可對任何內容格式進行轉換,而不會被郵件系統改變。

(3)POP3

在這里插入圖片描述

  • 郵局協議( Post Office Protocol, POP) 是一個非常簡單但功能有限的郵件讀取協議,現在使用的是它的第3個版本POP3。
  • POP3 采用的是“拉”(Pull)的通信方式,當用戶讀取郵件時,用戶代理向郵件服務器發出請求,“拉”取用戶郵箱中的郵件。
  • POP也使用客戶/服務器的工作方式,在傳輸層使用TCP,端口號為110。接收方的用戶代理上必須運行POP客戶程序,而接收方的郵件服務器上則運行POP服務器程序。
  • POP有兩種工作方式:“下載並保留”和“下載並刪除”。
    “下載並保留”方式下,用戶從郵件服務器上讀取郵件后,郵件依然會保存在郵件服務器上,用戶可再次從服務器上讀取該郵件;
    使用“下載並刪除”方式時,郵件一旦被讀取,就被從郵件服務器上刪除,用戶不能再次從服務器上讀取。

(4)IMAP—因特網報文存取協議

在這里插入圖片描述

  • 另一個郵件接收協議是因特網報文存取協議(IMAP),它比POP復雜得多,IMAP為用戶提供了創建文件夾、在不同文件夾之間移動郵件及在遠程文件夾中查詢郵件的命令,為此IMAP服務器維護了會話用戶的狀態信息
  • IMAP的另一特性是允許用戶代理只獲取報文的某些部分,例如可以只讀取一個報文的首部,或一個多部分MIME報文的一部分。這非常適用於低帶寬的情況,用戶可能並不想取回郵箱中的所有郵件,尤其是包含很多音頻或視頻的大郵件。

(5)萬維網的電子郵件

在這里插入圖片描述

  • 隨着萬維網的流行,目前出現了很多基於萬維網的電子郵件,如Hotmail、Gmail 等。
  • 這種電子郵件的特點是,用戶瀏覽器與Hotmail或Gmail的郵件服務器之間的郵件發送或接收使用的是HTTP,而僅在不同郵件服務器之間傳送郵件時才使用SMTP.

參考:《王道計算機網絡原理》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM