怎麼用dos批處理髮送簡單郵件

1、一般格式:

telnet smtp.126.com 25   
helo justtest
auth login
bGl1amluMjIyODMxOUAxMj***
bGowMjAyLC4***
mail from:<liuj****[email protected]>
rcpt to:<710****[email protected]>
data
to:ds
from:me
subject:test
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
this is a test
.
quit

telnet smtp.126.com 25 是連接郵件服務器,返回如下信息:

164311176.jpg

helo justtest 是郵件用戶名,這裏我也不懂,隨便輸入,返回如下信息:

164932748.jpg

auth login 是用普通方式登錄,返回如下信息:

165037777.png

bGl1amluMjIyODMxOUAxMj*** 這裏是輸入真正登錄郵箱的用戶名的base64編碼(網上百度base64編碼),我這裏用“*”隱藏我的用戶名base64編碼的一些字符串,免得被破解,下面的“*”也是這個意思,返回信息如下:

165546698.png

bGowMjAyLC4*** 這裏是密碼,也是要輸入密碼的base64編碼,返回信息如下:

165823373.png

mail from:<liuj****[email protected]>

rcpt to:<710****[email protected]>

這上面兩個應該懂吧?郵件來自哪,發往哪?

data 以下開始時數據內容

to:ds 發往哪,隨便填

from:me 從哪來,隨便填

subject:test 郵件主題

注意這裏有空一行,注意啦,注意啦。也不要在這空行中打空格。

this is a test 這回郵件正文。

. 單獨的、行首的、獨佔一行的、英文符的點,表示data的結束,開始發送郵件。

quit 退出。

看看

mail from:<liuj****[email protected]>跟from:me

rcpt to:<710****[email protected]>跟to:ds的區別吧,一張圖看懂:

171908865.jpg

上面各輸入的返回如下:

171208904.png

這就是發送郵件的一般格式了。那怎麼送批處理做了?

2、批處理髮送郵件

你會發現,將上面的命令寫入.bat的文件,再運行,它會停在telnet smtp.126.com 25這裏,等這個連接自動超時斷開後才繼續執行下面的命令,這怎麼可以了?下面的那些命令式在telnet 進入郵件服務器後必須立刻執行的命令,而不是在dos環境下執行的!!!

我是這麼處理的

(1)用nc來代替telent

(2)用.bat生成一般格式中除telnet smtp.126.com 25的其他所有命令和郵件內容

詳細過程如:

  1. 下寫echo_smtp.bat,內容如下:

    @echo off
    echo helo justtest>> smtp.txt
    echo auth login>> smtp.txt
    echo bGl1amluMjIyODMxOUAxMj***>> smtp.txt
    echo bGowMjAyLC4****>> smtp.txt
    echo mail from:^<liujin2****[email protected]^>>> smtp.txt
    echo rcpt to:^<71****[email protected]^>>> smtp.txt
    echo data>> smtp.txt
    echo to:*****[email protected]>> smtp.txt
    echo from:l****[email protected]>> smtp.txt
    echo subject:test>> smtp.txt
    echo.>> smtp.txt
    echo this is a test>> smtp.txt
    type WGET.LOG>> smtp.txt
    echo.>>smtp.txt
    echo .>> smtp.txt
    echo quit>> smtp.txt

    這裏就是生成一般格式中除telnet smtp.126.com 25的其他所有命令和郵件內容,

    type是我要寫的正文,把某某日誌文件寫到正文裏

    ^是轉義字符

    echo.是寫一空行

  2. 寫send_email.bat,內容如下:

    if exist smtp.txt nc -vv smtp.126.com 25 < smtp.txt

    這裏是nc連接smto.126.com 的25端口,並在連接後執行smtp.txt裏的內容。

  3. 寫smtp.bat,內容如下:

    echo_smtp.bat & send_email.bat

    這裏就是執行上面的echo_smtp.bat和send_email.bat,不要將這兩個命令寫在兩行。

  4. 運行smtp.bat就可以發送郵件了,必須成功!!

    nc下載連接點我,不能下載的話,網上去找吧,很多的。

    謝謝

    from:電神

    date:2013-09-13


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章