Email 发送邮件的VB脚本

Email 发送邮件的VB脚本,email,batch-file,vbscript,Email,Batch File,Vbscript,我不懂vb脚本。所以我在这里问,请帮帮我……:) 我们有一个备份批处理脚本,它使用robo copy将所有数据复制到另一台服务器。 我们对脚本进行了调度,但一直都必须转到该服务器并手动检查脚本是否运行。 现在我们已经编写了一个vb脚本,它将调用该批处理脚本,并检查脚本是否正常运行。如果脚本正常运行,则邮件将作为备份完成,否则备份未完成。 如果您对vb脚本有任何想法,请帮助我。您可以使用mailsend.exe,只需将exe放在脚本文件夹中,并在最后将以下代码附加到RoboCopy脚本。如果您不想

我不懂vb脚本。所以我在这里问,请帮帮我……:) 我们有一个备份批处理脚本,它使用robo copy将所有数据复制到另一台服务器。 我们对脚本进行了调度,但一直都必须转到该服务器并手动检查脚本是否运行。 现在我们已经编写了一个vb脚本,它将调用该批处理脚本,并检查脚本是否正常运行。如果脚本正常运行,则邮件将作为备份完成,否则备份未完成。
如果您对vb脚本有任何想法,请帮助我。

您可以使用mailsend.exe,只需将exe放在脚本文件夹中,并在最后将以下代码附加到RoboCopy脚本。如果您不想抄送或密件抄送任何人,只需添加+cc&+bcc即可


键入logs.txt | mailsend.exe-smtp smtp_服务器_ip_或_FQDN-port 25-d smtp.mail.com-txyz@mail.com-f seding_from@mail.com-子“任何主题”-用户邮件_username@mail.com-pass mailpassword-auth-ccxyz@mail.com-密件抄送xyz@mail.com这里有一个批处理文件,它使用VBS发送电子邮件

阅读脚本中的注释,了解如何测试它

:: email.bat :::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
setlocal

:: use these settings to send from a gmail account
:: set port=465 and set SSL=True

:: use these settings for standard email SMTP port and no encryption
:: set port=25 and set SSL=False

:: Change these following items to use the same variables all the time
:: or use the command line to pass all the variables

set Port=25
set SSL=False
set From="myemail@myemailserver.com"
set To="recipient@server.com"
set Subject="Subject line"
set Body="Email Body in one line"
set SMTPServer="mailservername.myemailserver.com"
set User="username"
set Pass="password"
set fileattach="d:\myfolder\file.txt"


:: This section sets the command line arguments
:: use this format:  CALL email.bat "myname@gmail.com" "RecipientEmailAddress@server.com" "Subject line" "Email Body in one line" "smtp.gmail.com"  "myname@gmail.com" "password" "d:\folder\filename to attach.txt"


if "%~7" NEQ "" (
set From="%~1"
set To="%~2"
set Subject="%~3"
set Body="%~4"
set SMTPServer="%~5"
set User="%~6"
set Pass="%~7"
set fileattach="%~8"
)

set "vbsfile=%temp%\email-bat.vbs"
del "%vbsfile%" 2>nul
set cdoSchema=http://schemas.microsoft.com/cdo/configuration
echo >>"%vbsfile%" Set objArgs       = WScript.Arguments
echo >>"%vbsfile%" Set objEmail      = CreateObject("CDO.Message")
echo >>"%vbsfile%" objEmail.From     = %From%
echo >>"%vbsfile%" objEmail.To       = %To%
echo >>"%vbsfile%" objEmail.Subject  = %Subject%
echo >>"%vbsfile%" objEmail.Textbody = %body%
if exist %fileattach% echo >>"%vbsfile%" objEmail.AddAttachment %fileattach%
echo >>"%vbsfile%" with objEmail.Configuration.Fields
echo >>"%vbsfile%"  .Item ("%cdoSchema%/sendusing")        = 2 ' not local, smtp
echo >>"%vbsfile%"  .Item ("%cdoSchema%/smtpserver")       = %SMTPServer%
echo >>"%vbsfile%"  .Item ("%cdoSchema%/smtpserverport")   = %port%
echo >>"%vbsfile%"  .Item ("%cdoSchema%/smtpauthenticate") = 1 ' cdobasic
echo >>"%vbsfile%"  .Item ("%cdoSchema%/sendusername")     = %user%
echo >>"%vbsfile%"  .Item ("%cdoSchema%/sendpassword")     = %pass%
echo >>"%vbsfile%"  .Item ("%cdoSchema%/smtpusessl")       = %SSL%
echo >>"%vbsfile%"  .Item ("%cdoSchema%/smtpconnectiontimeout") = 30
echo >>"%vbsfile%"  .Update
echo >>"%vbsfile%" end with
echo >>"%vbsfile%" objEmail.Send

cscript.exe /nologo "%vbsfile%"
echo email sent (if variables were correct)
del "%vbsfile%" 2>nul
goto :EOF

这里有一个很棒的链接,提供了很多选项:您可以使用
Blat.exe
这是一个很棒的命令行工具来发送电子邮件