Email 使用VBscript发送文本电子邮件
我已经尝试了以下代码,没有抛出错误。而且也没有发送电子邮件Email 使用VBscript发送文本电子邮件,email,vbscript,Email,Vbscript,我已经尝试了以下代码,没有抛出错误。而且也没有发送电子邮件 Dim i, objEmail ' Use custom error handling On Error Resume Next Set objEmail = CreateObject( "CDO.Message" ) ' Fill in the field values With objEmail .From = "xyz@abc.com" .To = "pqr@abc.com" .S
Dim i, objEmail
' Use custom error handling
On Error Resume Next
Set objEmail = CreateObject( "CDO.Message" )
' Fill in the field values
With objEmail
.From = "xyz@abc.com"
.To = "pqr@abc.com"
.Subject = "Test"
.TextBody = "Email from VB Script"
If mySMTPPort = "" Then
mySMTPPort = 25
End If
With .Configuration.Fields
.Item( "http://schemas.microsoft.com/cdo/configuration/sendusing" ) = 2
.Item( "http://schemas.microsoft.com/cdo/configuration/smtpserver" ) = "HostNameHere"
.Item( "http://schemas.microsoft.com/cdo/configuration/smtpserverport" ) = 25
.Update
End With
.Send
End With
' Return status message
If Err Then
EMail = "ERROR " & Err.Number & ": " & Err.Description
Err.Clear
Else
EMail = "Message sent ok"
End If
' Release the e-mail message object
Set objEmail = Nothing
当我执行这个VBS文件时,它什么也不做。请帮帮我。我必须从我的域名发送简单的文本电子邮件到另一个域名。或者我想执行的任务是否有变通方法?您的代码隐藏了错误。err默认属性为number。因此,如果err.number=0与false相同,则表示err.number为error,如果err.number不为0,则表示一切正常。您在尝试发送邮件时可能会遇到错误。但是,您在“错误恢复下一步”中启用了错误处理,但您的错误处理程序只是将错误信息放入变量中,而没有实际使用该变量执行任何操作。添加回显变量的行应为您提供有关发生情况的更多信息: 如果有错误,那么 电子邮件=错误和错误编号&:&错误说明 呃,明白了 其他的 电子邮件=已发送的消息确定 如果结束 Echo电子邮件 应该为你提供更多关于正在发生的事情的信息 编辑:很明显,你的连接出现了错误。这有几个可能的原因。首先检查您的名称解析是否正确:
nslookup HostNameHere
如果名称未解析,请在脚本中使用IP地址或修复名称解析
接下来检查是否可以通过名称和IP地址连接到远程主机上的端口25:
telnet HostNameHere 25
telnet a.b.c.d 25
如果得到这样的结果:
C:\>telnet主机名此处25
正在连接主机名此处…无法在端口25上打开与主机的连接:
连接失败
有东西阻塞了你的连接。可能是网络防火墙、远程主机上基于主机的防火墙,或者一开始不侦听端口25的服务。请与您的网络管理员和/或邮件服务器管理员联系。是否需要批处理文件?错误的出现错误时,即填充Err对象时,会正确触发条件If Err Then。您是对的,现在我遇到了一个传输连接失败的错误,您能帮我解决吗?