-
SMTP
鎖定
- 中文名
- 簡單郵件傳輸協議
- 外文名
- Simple Mail Transfer Protocol
- 簡 稱
- SMTP
- 作 用
- 傳輸系統之間的郵件信息
- 端 口
- 25
目錄
SMTP簡介
SMTP是一個相對簡單的基於文本的協議。在其之上指定了一條消息的一個或多個接收者(在大多數情況下被確認是存在的),然後消息文本會被傳輸。可以很簡單地通過telnet程序來測試一個SMTP服務器。SMTP使用TCP端口25。要為一個給定的域名決定一個SMTP服務器,需要使用MX (Mail eXchange)DNS。
[2]
Sendmail是最早使用SMTP的郵件傳輸代理之一。到2001年至少有50個程序將SMTP實現為一個客户端(消息的發送者)或一個服務器(消息的接收者)。一些其他的流行的SMTP服務器程序包括了Philip Hazel的exim,IBM的Postfix,D. J. Bernstein的Qmail,以及Microsoft Exchange Server。
[2]
由於這個協議開始是基於純ASCII文本的,它在二進制文件上處理得並不好。諸如MIME的標準被開發來編碼二進制文件以使其通過SMTP來傳輸。今天,大多數SMTP服務器都支持8位MIME擴展,它使二進制文件的傳輸變得幾乎和純文本一樣簡單。
[2]
SMTP功能
SMTP是一組用於從源地址到目的地址傳送郵件的規則,並且控制信件的中轉方式。SMTP協議屬於TCP/IP協議族,它幫助每台計算機在發送或中轉信件時找到下一個目的地。通過SMTP協議所指定的服務器,我們就可以把E—mail寄到收信人的服務器上了,整個過程只需要幾分鐘。SMTP服務器是遵循SMTP協議的發送郵件服務器,用來發送或中轉用户發出的電子郵件。
[3]
SMTP重要的特性之一是它能跨越網絡傳輸郵件,也即“SMTP郵件中繼”。使用SMTP,可實現相同網絡上處理機之間的郵件傳輸,也可以通過中繼器或網關實現某處理機與其它網絡之間的郵件傳輸。具有域名服務系統(DNS)功能的郵件交換服務器還可以用來識別出傳輸郵件的下一跳IP地址。
[3]
SMTP工作過程
SMTPSMTP通信舉例
下面通過一個實例進行説明。在本例中,假設郵件從名為panwei@163. com的發件人電子郵件箱(運行SMTP客户進程,具體顯示為C)傳送到名為network@xmu. edu. cn的收件人電子信箱(運行SMTP服務器進程,具體顯示為S),具體的命令和響應信息如下:telnetwww.example.com25它打開一個從發送的機器到主機www.example.com的SMTP連接。
[5]
S:(注:等待連接TCP的25號端口,該端口對應SMTP服務) C:(注:打開與服務器的連接) S: 220 xmu. edu. cn SMTP Service ready(注:服務器的TCP連接就緒) C: HELO 163.com S: 250 xmu. edu. cn says hello C:MAIl. FROM:<panwei@163.com> S:250 0K C: RCPT TO:<network@xmu.edu.cn> S:250 0K C:DATA S:354 Start mail input; end with<CRLF>.<CRLF> C:…sends body of mail message.. C:…Dear xxx.. C:<CRLF>.<CRLF> S:250 OK C:QUIT S: 221 xmu. edu. cn Service closing transmission channel
以上所示的是一個簡單的SMTP交換過程,包括了連接建立、郵件傳送和連接釋放三個具體過程:首先建立TCP連接,SMTP調用TCP協議的25號端口監聽連接請求,客户端發送HElO命令以標識發件人自己的身份,服務器做出響應。然後,客户端發送MAII)命令,服務器以OK作為Ⅱ嚮應,表明準備接收。客户端發送RCPT命令以標識電子郵件的收件人,可以有多個RCPT行,即一份郵件可以同時發送給多個收件人。服務器端則表示是否願意為收件人接收郵件。協商結束後,客户端用DATA命令發送信息,以<CRLF>表示結束輸入內容。最後,控制交互的任一端可選擇終止會話,為此它發出一個QUIT命令,另一端用命令221響應,表示同意終止連接,雙方將關閉連接。
[5]
SMTP交換過程中服務器端發出的“250 0K”含義是一切都好。與使用其他協議一樣,程序只讀縮寫命令和每行開頭的三個數字,其餘文本是用於幫助用户調試郵件軟件。在命令成功時,服務器返回代碼250,如果失敗則返回代碼550(命令無法識別)、451(處理時出錯)、452(存儲空間不夠)、421(服務器不可用)等,354則表示開始信息輸入。
[5]
SMTP的侷限性表現在只能發送ASCII碼格式的報文,不支持中文、法文、德文等,它也不支持語音、視頻的數據。通過MIME協議,對SMTP補充。MIME使用網絡虛擬終端(NVT)標準,允許非ASCII碼數據通過SMTP傳輸。
[5]
SMTPSMTP安全和垃圾郵件
最初的SMTP的侷限之一在於它沒有對發送方進行身份驗證的機制。因此,後來定義了SMTP-AUTH擴展。
儘管有了身份認證機制,垃圾郵件仍然是一個主要的問題。但由於龐大的SMTP安裝數量帶來的網絡效應,大刀闊斧地修改或完全替代SMTP被認為是不現實的。Internet Mail 2000就是一個替代SMTP的建議方案。
[2]