Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 使用VBscript发送文本电子邮件_Email_Vbscript - Fatal编程技术网

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。您是对的,现在我遇到了一个传输连接失败的错误,您能帮我解决吗?