技术文章 > windows > vbs批量发邮件 

用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------------------------------------------------------
			
哈哈,本人猜您可能需要这段代码吧?那就不用客气,从这里 下载 吧。😄


来源:摘自https://jingyan.baidu.com/article/d45ad14854209328552b80ee.html,本站 行痴 收录,未经验证,2023-08-21