簡單郵件傳輸協議

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

簡單郵件傳輸協議(Simple Mail Transfer Protocol,SMTP)

目錄

什麼是簡單郵件傳輸協議[1]

  簡單郵件傳輸協議是指TPTCP/IP網路在MTA之間傳遞郵件的協議。SMTP是目前使用最廣泛的郵件協議,UA向MTA發送電子郵件也使用SMTP。

簡單郵件傳輸協議的內容[1]

  SMTP使用的TCP埠號是25,接收端在TCP的25號埠等待發送端來的E-mail,發送端向接收方(即伺服器)發出連接要求,一旦連接成功,即進行郵件信息交換,郵件傳遞結束後釋放連接。圖1列出了SMTP協議的常用命令。

  圖1  SMTP協議的常用命令

  Image:SMTP协议的常用命令.jpg

  下麵給出一個用SMTP傳遞郵件的典型過程。例如,我們假定一個名叫unix.ict.ac.cn的電腦(作為域ict.ac.cn的郵件伺服器)要發送下列信件:

  Date:Sat 27 April 2002 13:26:3l BJ

  From:lu@ ict.ac.cn

  TO:liu @ cnc.ac.cn

  Subject:meetinq

  Let us get together Monday at lpm

  首先要註意的是,根據SMTP標準(RFC822),信件必須用純ASCII碼發送。該標準還規定了諸如郵件頭、空一行、然後是信件本體這樣的通用結構。詳細定義的郵件頭中行的語法,由關鍵字(keyword)及隨後的具體值(value)兩部分組成。在我們的例子中,收件人由liu @ cnc.ac.cn表示,它簡單地對應電腦xenix.cnc.ac.cn(作為域cnc.ac.cn的郵件伺服器)上的用戶liu;發件人由1u @ ict.ac.cn表示,它對應電腦unix.ict.ac.cn上的用戶1u。

  發送方郵件軟體從本地電腦的通信主機登記表(在UNIX操作系統上,主機表放在/etc/hosts文件中)或網上的名字伺服器那裡得知xenix.cnc.ac.cn的IP地址是128.6.4.2,然後郵件程式打開一個連接到128.6.4.2的25號埠。unix和xenix都是多用戶操作系統,雙方電腦的郵件服務都位於本地主機。25號是眾所周知的接收郵件的埠號。一旦連接建立,發送方郵件程式就開始發送命令。下麵列出的是典型會話:

  Image:发送方邮件软件典型会话.jpg

  每行開頭都標出該行信息是從unix還是從xenix發出的。在我們的例子中是unix主動發起連接的。按照標準,命令都使用普通正文。在示例會話中,命令HELO、MAIL、RCPT、DATA和QUIT都足標準ASCII命令,這樣就給觀察和診斷帶來方便,可以將每個會話的軌跡放在一個記錄文件中,以供檢查,標準還規定,應答都以數字開頭,並限定可以使用的應答格式。使用數字保證用戶程式的應答無二義性。應答數字的後面輔以正文,通常只是為了供人閱讀和記錄,對於程式的操作沒有影響。可能已經註意到了,會話以HELO起始,它給出啟動連接的發送端郵件伺服器的功能變數名稱,然後描述發送者和接收者。如果郵件要發給多個用戶,則可以有多個RCPT命令。最後發送數據。要註意,郵件的正文用僅包含一個句點“·”的行結束。

  需要強調的是,SMTP規定了對任一給定命令可以發送的應答。以2開頭的應答表示成功,以3開頭的應答表明需要有進一步的動作。4和5開頭表示錯誤:4開頭是暫時性錯誤,比如磁碟滿;5開頭則是永久性錯誤,例如接收用戶不存在。圖2列出了SMTP協議的應答代碼。這些應答代碼分類如圖3所示。

  圖2  SMTP協議的應答代碼

  Image:SMTP协议的应答代码.jpg

  圖3  SMTP應答代碼分類

  Image:SMTP应答代码分类.jpg

  從上面的例子可以看出,郵件傳遞分五大部分:第一部分是建立郵件連接,第二部分是標識發送者,第三部分是標識接收者,第四部分是傳遞郵件數據,第五部分是結束郵件連接。

參考文獻

  1. 1.0 1.1 魯士文編著.多媒體網路技術與應用.清華大學出版社,2002年10月第1版.
本條目對我有幫助0
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目

本条目由以下用户参与贡献

jane409,Dan.

評論(共0條)

提示:評論內容為網友針對條目"簡單郵件傳輸協議"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

打开APP

以上内容根据网友推荐自动排序生成