電子郵件傳輸協議原理簡介

1、簡介

      SMTP(Simple Mail Transfer Protocol)協議是爲了保證電子郵件的可靠和高效傳送。TCP/IP 協議的應用層中包含有 SMTP 協議,但事實上其與傳輸系統和機制無關,僅要求一個可靠的數據流通道。該協議可以工作在 TCP 上,也可以工作在 NCP、NITS 等協議上。在 TCP 上,其使用端口 25 進行傳輸。SMTP 的一個重要特點是可以在可交互的通信系統中轉發郵件。
      SMTP 提供了一種郵件傳輸的機制,當接收方和發送方都在一個網絡上時,可以把郵件直傳給對方;當雙方不在同一個網絡上時,需要通過一個或幾個中間服務器轉發。SMTP 首先由發送方提出申請,要求與接收方 SMTP 建立雙向的通信渠道,接收方可以是最終收件人也可以是中間轉發的服務器。接收方服務器確認可以建立連接後,雙發就可以開始通信。
      發送方 SMTP 向接收方發出 MAIL 命令,告知發送方的身份;如果接收方接受,就會回答 OK。發送方再發出 RCPT 命令,告知收件人的身份,接收方 SMTP 確認是否接收或轉發,如果同意就回答 OK;接下來就可以進行數據傳輸了。通信過程中,發送方 SMTP 與接收方 SMTP 採用對話式的交互方式,發送方提出要求,接收方進行確認,確認後才進行下一步的動作。整個過程由發送方控制,有時需要確認幾次纔可以(如圖 1 所示)。


      爲了保證回覆命令的有效,SMTP 要求發送方必須提供接收方的服務器及郵箱。郵件的命令和答覆有嚴格的語法定義,並且回覆具有相應的數字代碼。所有的命令由 ASCII 碼組成。命令代碼是大小寫無關的,如 MAIL 和 mail、mAIL 都是等效的。
      目前使用的 SMTP 協議是存儲轉發協議,意味着其允許郵件通過一系列的服務器發送到最終目的地。服務器在一個隊列中存儲到達的郵件,等待發送到下一個目的地。下一個目的地可以是本地用戶,或者是另一個郵件服務器,如圖 2 所示。如果下游的服務器暫時不可用,MTA 就暫時在隊列中保存信件,並在以後嘗試發送。



2、命令

      SMTP 定義了 15 個命令,分別是:HELO、MAIL FROM、RCPT TO、DATA、RSET、SEND FROM、SOML FROM、SAML FROM、VRFY、EXPN、HELP、NOOP、QUIT、TURN。其中 SMTP 工作的基本的命令有 7 個:HELO、MAIL FROM、RCPT TO、DATA、REST、NOOP 和 QUIT。
      下面分別對這些命令進行介紹。
      HELO:發送方問候接收方,後面是發件人的服務器地址或標識。接收方回答 OK 時標識自己的身份。問候和確認過程表明兩臺機器可以進行通信,同時狀態參量被複位,緩衝區被清空。
      MAIL FROM:這個命令用來開始傳送郵件,其後面跟隨發送方郵件地址(返回郵件地址)。也用來當郵件無法送達時,發送失敗通知。爲保證郵件的成功發送,發送方的地址應是被對方或中間轉發方同意接受的。這個命令會清空有關的緩衝區,爲新的郵件做準備。
      RCPT TO:這個命令告訴接收方收件人的郵箱。當有多個收件人時,需要多次使用該命令,每次只能指明一個人。如果接收方服務器不同意轉發這個地址的郵件,其必須報 550 錯誤代碼通知發送方。如果服務器同意轉發,其要更改郵件發送路徑,把最開始的目的地(該服務器)換成下一個服務器。
      DATA:接收方把該命令之後的數據作爲發送的數據。數據被加入數據緩衝區中,以單獨一行是“.”的行結束數據。結束行對於接收方同時意味立即開始緩衝區內的數據傳送,傳送結束後清空緩衝區。如果傳送接受,接收方回覆 OK。
      REST:這個命令用來通知接收方復位,所有已存入緩衝區的收件人數據,發件人數據和待傳送的數據都必須清除,接收方必須回答 OK。
      NOOP:這個命令不影響任何參數,只是要求接收放回答 OK,不會影響緩衝區的數據。
      QUIT:SMTP 要求接收方必須回答 OK,然後中斷傳輸;在收到這個命令並回答 OK 前,接收方不得中斷連接,即使傳輸出現錯誤。發送方在發出這個命令並收到 OK 答覆前,也不得中斷連接。
      VERY:用於確認接收用戶。
      SEND:使接收主機知道消息必須送到另一個終端,當前傳輸被取消。
      HELP:查詢服務器支持的命令集合。
      EXPN:驗證給定的郵箱列表是否存在,並擴充郵箱列表。
      TURN:請求接收主機向發送主機返回消息。
      SAML:發送並郵寄。通知接收主機消息必鬚髮送到其他終端和郵箱。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章