SMTP(Simple MailTransfer Protocol)即簡單郵件傳輸協議,它是一組用於由源地址到目的地址傳送郵件的規則,由它來控制信件的中轉方式。SMTP協議屬於TCP/IP協議族,是定義郵件傳輸最常用的協議,由RFC821所定義.它幫助每臺計算機在發送或中轉信件時找到下一個目的地。通過SMTP協議所指定的服務器,就可以把E-mail寄到收信人的服務器上了,整個過程只要幾分鐘。SMTP服務器則是遵循SMTP協議的發送郵件服務器,用來發送或中轉發出的電子郵件。http://baike.baidu.com/view/5450.htm
基本命令集
命令 |
命令用途 |
HELO |
向服務器標識用戶身份發送者能欺騙、說謊, 但一般情況下服務器都能檢測到 |
|
初始化郵件傳輸,以mail from:開始 |
RCPT |
標識單個的郵件接收人;常在MAIL命令後面,可有多個rcpt to: |
DATA |
在單個或多個RCPT命令後,表示所有的郵件接收人已標識, 並初始化數據傳輸,以.結束 |
VRFY |
用於驗證指定的用戶/郵箱是否存在; 由於安全方面的原因,服務器常禁止此命令 |
EXPN |
驗證給定的郵箱列表是否存在,擴充郵箱列表,也常被禁用 |
HELP |
查詢服務器支持什麼命令 |
NOOP |
無操作,服務器應響應OK |
QUIT |
結束會話 |
RSET |
重置會話,當前傳輸被取消 |
命令返回值列表
|
返回值代碼 |
返回值含義 |
錯誤返回值 |
500 |
郵箱地址錯誤 |
501 |
參數格式錯誤 |
|
502 |
命令不可實現 |
|
503 |
服務器需要SMTP驗證 |
|
504 |
命令參數不可實現 |
|
421 |
服務未就緒,關閉傳輸信道 |
|
450 |
要求的郵件操作未完成,郵箱不可用(例如,郵箱忙) |
|
550 |
要求的郵件操作未完成,郵箱不可用(例如,郵箱未找到或不可訪問) |
|
451 |
放棄要求的操作;處理過程中出錯 |
|
551 |
用戶非本地,請嘗試<forward-path> |
|
452 |
系統存儲不足,要求的操作未執行 |
|
552 |
過量的存儲分配,要求的操作未執行 |
|
553 |
郵箱名不可用,要求的操作未執行(例如郵箱格式錯誤) |
|
432 |
需要一個密碼轉換 |
|
534 |
認證機制過於簡單 |
|
538 |
當前請求的認證機制需要加密 |
|
454 |
臨時認證失敗 |
|
530 |
需要認證 |
|
正確返回值 |
220 |
服務就緒 |
250 |
要求的郵件操作完成 |
|
251 |
用戶非本地,將轉發向<forward-path> |
|
354 |
開始郵件輸入,以<CRLF>.<CRLF>結束 |
|
221 |
服務關閉傳輸信道 |
|
334 |
服務器響應驗證Base64字符串 |
|
235 |
驗證成功 |