用telnet收發郵件(附bat自動發送代碼)

來源:互聯網
上載者:User

 

以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哈哈~

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.