批处理发送邮件

来源:互联网 发布:sql查询语句大全讲解 编辑:程序博客网 时间:2024/06/04 22:47

批处理发送邮件

@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 "http://md5.mmkey.com/base64/" will help you complete this work--
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------------------------------------------------------

原创粉丝点击