以163郵箱為例→→→→→→→telnet收郵件
注意:所有響應+OK (ok) or -ERR (no)
1.串連→telnet pop.163.com 110
2.使用者名稱→user ****
3.密碼→pass ****
4.驗證ok後,終端會顯示如下資訊:
+OK 60 message(s) [72208371 byte(s)]
數字60表示有60封郵件,72208371表示這60封郵件總的位元組數(即72208371B)
這時可使用的命令如下:
1.stat命令 格式:stat 無需參數
stat命令,查看統計,執行後,POP3伺服器會響應一個正確應答,它以“+OK”開頭,接著是兩個數字,第一個是郵件數目,第二個是郵件的大小
2.list命令 格式:list [n] 參數n可選,n為郵件編號
list命令,查看郵件清單,可以利用不帶參數的list命令,獲得各郵件的編號,並且每一封郵件均佔用一行顯示,前面的數為郵件的編號,後面的數為郵件的大小
3.uidl命令 格式:uidl [n] 參數n可選,n為郵件編號
uidl命令,與list同,不過顯示郵件的資訊比list更詳細,更具體
4.retr命令 格式:retr n 參數n不可省,n為郵件編號
retr命令,查看郵件的內容
5.dele命令 格式:dele n 參數n不可省,n為郵件編號
dele命令,刪除指定的郵件(注意:dele n命令只是給郵件做上刪除標記,只有在執行quit命令之後,郵件才會真正刪除)
6.top 命令 格式:top n m 參數n,m不可省,n為郵件編號,m為行數
top命令,讀取指定郵件內文的行數,如果m=0,則唯讀出郵件的郵件標頭部分
7.noop命令 格式:noop 無需參數
noop命令,該命令發出後,POP3伺服器不作任何事,僅返回一個正確響應"+OK"
8.quit命令 格式:quit 無需參數
quit命令,該命令發出後,telnet斷開與POP3伺服器的串連,系統進入更新狀態
--------------------------------------------------------------------------------
以163郵箱為例→→→→→→→telnet發郵件
1.串連→telnet smtp.163.com 25
回顯"220"
2.報名字(隨便寫)→helo vkill
回顯"250 ok"
3.登陸模式(這時選一般登陸模式)→AUTH LOGIN
回顯"334 dXNlcm5hbWU6"
(注:這時的使用者和密碼都為Base64編碼後的字元,手頭沒有Base64編碼加密器的話,偶提供個線上的:http://www.yx127.com/base64.html)
4.使用者名稱→****
回顯"334 UGFzc3dvcmQ6"
5.密碼→****
回顯"235 Authentication successful" 表示驗證通過
6.寄件者→mail from: <XXXXX@163.com >
回顯"250 Mail OK"
7.收件者→rcpt to: <XXXXX@56.com >
回顯"250 Mail OK"
8.開始寫本文→data
輸入本文內容就ok,本文要符合MIME規範
例子:
From: XXXXX@163.com ←電子郵件的發信人
To: XXXXX@56.com ←電子郵件的收信人
Cc: XXXXX@56.com ←接收通過抄送方式發送的郵件的收件者
Subject: test ←電子郵件的主題
MIME-Version: 1.0 ←MIME 協議的版本
Content-Type: text/plain ←郵件格式text
hello vkill ←內容
當行輸入. 斷行符號,回顯"250 OK"發送成功
9.中斷連線→quit
--------------------------------------------------------------------------------
以163郵箱為例,利用.bat檔案自動調用telnet發送郵件。
--------------------------------------------------------------------------------
依據上述原理,接下來我們就來個bat自動發送郵件,而不用一行行手動輸入命令。。。代碼如下:
echo set sh=WScript.CreateObject("WScript.Shell") >telnet_tmp.vbs echo WScript.Sleep 300 >>telnet_tmp.vbs echo sh.SendKeys "open smtp.163.com 25{ENTER}" >>telnet_tmp.vbs echo WScript.Sleep 1000 >>telnet_tmp.vbs echo sh.SendKeys "helo abc{ENTER}" >>telnet_tmp.vbs echo WScript.Sleep 300 >>telnet_tmp.vbs echo sh.SendKeys "auth login{ENTER}" >>telnet_tmp.vbs echo WScript.Sleep 300 >>telnet_tmp.vbs echo sh.SendKeys "!!youUserName!!{ENTER}" >>telnet_tmp.vbs echo WScript.Sleep 300 >>telnet_tmp.vbs echo sh.SendKeys "!!youPassWord!!{ENTER}" >>telnet_tmp.vbs echo WScript.Sleep 300 >>telnet_tmp.vbs echo sh.SendKeys "mail from:<XXXXX@163.com>{ENTER}" >>telnet_tmp.vbs echo WScript.Sleep 300 >>telnet_tmp.vbs echo sh.SendKeys "rcpt to:<XXXXX@163.com>{ENTER}" >>telnet_tmp.vbs echo WScript.Sleep 300 >>telnet_tmp.vbs echo sh.SendKeys "data{ENTER}" >>telnet_tmp.vbs echo WScript.Sleep 300 >>telnet_tmp.vbs echo sh.SendKeys "郵件主題!!!!{ENTER}{ENTER}" >>telnet_tmp.vbs echo sh.SendKeys "郵件內容!!!!{ENTER}" >>telnet_tmp.vbs echo sh.SendKeys ".{ENTER}" >>telnet_tmp.vbs start telnet cscript //nologo telnet_tmp.vbs del telnet_tmp.vbs
其中紅色部分是可以更改的。經測試,可用。。。
其實代碼可以更簡單。。 就看各位Bat高手怎麼搞了 O(∩_∩)O哈哈~