用Dos命令連線smtp郵件伺服器
轉自:【http://blog.163.com/alan_zheng/blog/static/2048661192012430102650960/】
telnet smtp.126.com 25 //登陸126.com郵件伺服器
220 126.com Anti-spam GT for Coremail System (126com[20090903])
//登陸伺服器後的顯示......
HELO Hi //打個招呼
250 OK
auth login //使用身份認證登陸指令
334 dXNlcm5hbWU6 //伺服器返回要求輸入使用者名稱
//dXNlcm5hbWU6其實是username:
//經過64位編碼過後的表現形式
d2VpeHVuNDVAMTI2LmNvbQ== //輸入已經base64_encode()過的使用者名稱
334 UGFzc3dvcmQ6 //伺服器返回要求輸入密碼
//UGFzc3dvcmQ6就是 Password:
abcdefg= //輸入已經base64_encode()過的密碼
235 Authentication successful //伺服器表明身份認證成功,下面就可以傳送郵件了
//如果認證錯誤 需要重新輸入auth login進行上面的認證
mail from:<[email protected]> //告訴伺服器發信人的地址
250 Mail OK
rcpt to:<[email protected]> //告訴伺服器收信人的地址
250 Mail OK
data //輸入傳送資料的命令
354 End data with <CR><LF>.<CR><LF>
subject: hello my first smtp test //輸入郵件的主題
//注意格式:主題過後一定要換一行, 不然會被當成內容傳送
good good study day day up //傳送的內容
. //以一點結束 開始傳輸郵件
250 Mail OK queued as smtp7,DsmowKDrf5vP9alMeNmtAw--.45722S2 1286207115
// 伺服器返回, 表明郵件以成功的放到傳送佇列裡 進行傳送了
quit //斷開連線
221 Bye
---------------------------------------------------------------------------------------------------------------------
附:
SMTP的基本命令集:
HELO 向伺服器標識使用者身份
MAIL 初始化郵件傳輸mail from: <xxx>
RCPT 標識單個的郵件接收人;常在MAIL命令後面可有多個rcpt to: <xxx>
DATA 在單個或多個RCPT命令後,表示所有的郵件接收人已標識,初始化資料傳 輸,以.結束
NOOP 無操作,伺服器應響應OK
RSET 重置會話,當前傳輸被取消
QUIT 結束會話
---------------------------------------------------------------------------------------------------------------------
狀態碼說明:
220 : 服務就緒
250 :請求郵件動作正確,完成(HELO,MAIL FROM,RCPT TO,QUIT 指令執行成功會返回此資訊)
235 :認證通過
221 :正在處理
354 :開始傳送資料,結束以 .(DATA指令執行成功會返回此資訊)
500 :語法錯誤,命令不能識別
550 :命令不能執行,郵箱無效
552 :中斷處理:使用者超出檔案空間