批處理髮送郵件
@echo on
REM --- File Name:SendMail.bat-----
REM ---Call Method----
REM ---SendMail "****" "Helle" "contentFile.txt" ----
setlocal enabledelayedexpansion
REM --- The SMTP server setting is here ----------------
set SMTPServer=smtp.sina.com
set SMTPPort=25
REM --- The username and password are encoded by MD5 arithmetic. ------
REM --- The "
set username=****
set password=****
set
set VBS=assist.vbs
REM ---Start of Parse Parameters---------------
REM ---All the parameters must be qualified with double quotation (")--------------
REM ---The first parameter (%1) is the mail address which receive this mail --------------
REM ---The second parameter (%2) is the subject --------------
REM ---The third parameter (%3) is the content file name --------------
set receiver=%1
REM --- Remove " from string-------------------
set receiver=%receiver:"=%
set receiver=%receiver:~0,-1%
set subject=%2
REM --- Remove " from string-------------------
set subject=%subject:"=%
set subject=%subject:~0,-1%
set contentFile=%3
echo %3
REM --- Remove " from string-------------------
set contentFile=%contentFile:"=%
set contentFile=%contentFile:~0,-1%
echo SendMail.bat Parameters
echo %receiver%
echo %subject%
echo "%contentFile%"
REM pause
REM ---End of Parse Parameters---------------
REM ---Start of Generating %VBS%---------------
echo set sh=WScript.CreateObject("WScript.Shell") > %VBS%
echo WScript.Sleep 1000 >> %VBS%
echo sh.Run "telnet">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "open %SMTPServer% %SMTPPort%">>%VBS%
echo WScript.Sleep 2000>>%VBS%
echo sh.SendKeys "{ENTER}">>%VBS%
echo sh.SendKeys "ehlo aaa">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "{ENTER}">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "auth login">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "{ENTER}">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "%username%">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "{ENTER}">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "%password%">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "{ENTER}">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "mail from:<%sender%>">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "{ENTER}">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "rcpt to:<%receiver%>">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "{ENTER}">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "data">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "{ENTER}">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "from:%sender%">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "{ENTER}">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "to:%receiver%">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "{ENTER}">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "subject:%subject%">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "{ENTER}">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "{ENTER}">>%VBS%
echo WScript.Sleep 1000>>%VBS%
REM ---Start of writing mail content from Content file---------------
for /f "tokens=1* delims=" %%i in ('findstr /n .* "%contentFile%"') do (
set line=%%i
if "!line:~1,1!"==":" (
if "!line:~2!"=="" (
echo sh.SendKeys "{ENTER}">>%VBS%
) else (
set "line=!line:~2!"
echo sh.SendKeys "!line!{ENTER}")>>%VBS%
)
)
if "!line:~2,1!"==":" (
if "!line:~3!"=="" (
echo sh.SendKeys "{ENTER}">>%VBS%
) else (
set "line=!line:~2!"
echo sh.SendKeys "!line!{ENTER}")>>%VBS%
)
)
if "!line:~3,1!"==":" (
if "!line:~4!"=="" (
echo sh.SendKeys "{ENTER}">>%VBS%
) else (
set "line=!line:~2!"
echo sh.SendKeys "!line!{ENTER}")>>%VBS%
)
)
)
REM ---End of writing mail content from Content file---------------
echo sh.SendKeys "{ENTER}">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys ".">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "{ENTER}">>%VBS%
echo WScript.Sleep 1000>>%VBS%
REM --- Quit from SMTP Server --------------------------
echo sh.SendKeys "quit{ENTER}">>%VBS%
echo WScript.Sleep 1000>>%VBS%
echo sh.SendKeys "{ENTER}">>%VBS%
echo sh.SendKeys "{ENTER}">>%VBS%
echo sh.SendKeys "{ENTER}">>%VBS%
echo WScript.Sleep(1000)>>%VBS%
REM --- Quit from telnet --------------------------
echo sh.SendKeys "q{ENTER}">>%VBS%
echo WScript.Sleep(1000)>>%VBS%
echo sh.SendKeys "q{ENTER}">>%VBS%
echo sh.SendKeys "q{ENTER}">>%VBS%
echo sh.SendKeys "EXIT{ENTER}">>%VBS%
REM ---End of Generating %VBS%---------------
REM ---Calling %VBS%---------------
%VBS%
REM del %VBS%
REM --- End of Bat------------------------------------------------------