用vbs脚本批量发邮件
准备:掌握用cmd执行vbs脚本的方法
1、点击WIN按钮,在运行对话框下面输入cmd,打开命令提示符窗口;2、在提示符下面输入notepad,打开记事本程序;
3、在记事本下面输入:Msgbox "这是一个提示窗口";
4、再点击文件菜单,选择另存为,打开对话框;
5、在对话框中输入程序名: demo.vbs,保存类型为所有,选择我们要保存的路径,然后点击保存;
6、在命令提示符下面输入wscript d:\demo.vbs,打开VBS脚本程序;
7、WSCRIPT是Windows脚本宿主,专门用于调试WSH脚本,vbs,js和wsh文件格式的。可以输入wscript /?来查看更多的命令和运行方式。
想省点事不自己编demo.vbs?那就从这里 下载 吧!😄
实用:批处理生成vbs并调用,批量发送邮件
有了上面的这个方法,可以作什么用呢?比如,可以用批处理发送邮件,本人从https://blog.csdn.net/xiaotao_liu/article/details/8465120看到大神写了如下这段代码(重要提示:以下代码摘自网络,未经验证):
@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------------------------------------------------------
哈哈,本人猜您可能需要这段代码吧?那就不用客气,从这里 下载 吧。😄