下面通過一個實例進行說明。在本例中,假設郵件從名為panwei@163. com的發件人電子郵件箱(運行SMTP客戶進程,具體顯示為C)傳送到名為network@xmu. edu. cn的收件人電子信箱(運行SMTP服務器進程,具體顯示為S),具體的命令和響應信息如下:telnetwww.example.com25它打開一個從發送的機器到主機www.example.com的SMTP連接。
以上所示的是一個簡單的SMTP交換過程,包括了連接建立、郵件傳送和連接釋放三個具體過程:首先建立TCP連接,SMTP調用TCP協議的25號端口監聽連接請求,客戶端發送HEl。()命令以標識發件人自己的身份,服務器做出響應。然后,客戶端發送MAII)命令,服務器以OK作為Ⅱ向應,表明準備接收。客戶端發送RCPT命令以標識電子郵件的收件人,可以有多個RCPT行,即一份郵件可以同時發送給多個收件人。服務器端則表示是否愿意為收件人接收郵件。協商結束后,客戶端用DATA命令發送信息,以CRLF表示結束輸入內容。最后,控制交互的任一端可選擇終止會話,為此它發出一個QUIT命令,另一端用命令221響應,表示同意終止連接,雙方將關閉連接。
SMTP交換過程中服務器端發出的u201c250 0Ku201d含義是一切都好。與使用其他協議一樣,程序只讀縮寫命令和每行開頭的三個數字,其余文本是用于幫助用戶調試郵件軟件。在命令成功時,服務器返回代碼250,如果失敗則返回代碼550(命令無法識別)、451(處理時出錯)、452(存儲空間不夠)、421(服務器不可用)等,354則表示開始信息輸入。
SMTP的局限性表現在只能發送ASCII碼格式的報文,不支持中文、法文、德文等,它也不支持語音、視頻的數據。通過MIME協議,對SMTP補充。MIME使用網絡虛擬終端(NVT)標準,允許非ASCII碼數據通過SMTP傳輸。