VB脚本发送电子邮件 - 等到发送电子邮件

时间:2014-01-23 10:57:42

标签: email vbscript

我使用下面的VB脚本发送电子邮件。当我从命令提示符执行它时,它会在执行后返回到命令提示符。如果发送时出现任何错误,则会显示弹出消息。

If WScript.Arguments.Count <> 6 then
 Wscript.Echo "Missing parameters"
Else
 Set objMessage = CreateObject("CDO.Message")
 objMessage.Subject = Wscript.Arguments(0) 
 objMessage.From = Wscript.Arguments(1) 
 objMessage.To = Wscript.Arguments(2) 
 objMessage.TextBody = Wscript.Arguments(3)
 objMessage.AddAttachment Wscript.Arguments(4)
 objMessage.AddAttachment Wscript.Arguments(5)
 objMessage.Configuration.Fields.Item _
 ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
 objMessage.Configuration.Fields.Item _
 ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp server ip"
 objMessage.Configuration.Fields.Item _
 ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 
 objMessage.Configuration.Fields.Update
 objMessage.Send
End If

我想知道发送电子邮件需要多少,并在程序中获取objMessage.Send的状态。

我想使用Wscript.Echo“错误消息”显示错误。上述代码需要进行哪些更改,以便执行等待电子邮件成功发送,然后显示消息。

提前致谢。 阿肖克

1 个答案:

答案 0 :(得分:1)

Send同步运行,即仅在

时返回
  • 发生错误
  • SMTP服务器拒绝了该消息
  • SMTP服务器接受了要传递的消息

启用Send的错误处理并检查是否发生错误:

On Error Resume Next
objMessage.Send
If Err Then
  WScript.Echo Err.Number & vbTab & Err.Description
Else
  WScript.Echo "Success"
End If
On Error Goto 0