【发布时间】:2019-03-25 22:44:58
【问题描述】:
我正在开发一个使用 CDO.Message 在函数中发送电子邮件的经典 ASP 和 Vbscript 站点。我在使用此功能时遇到问题并收到错误消息,
CDO.Message.1 error '80040213'
The transport failed to connect to the server.
我认为这与 SMTP 身份验证设置和我们正在运行的共享主机有关。我正在寻求帮助进一步调试问题。
这里是函数的主要代码sn-p,
Set objConfig = Server.CreateObject("CDO.Configuration")
Set Fields = objConfig.Fields
' Set config fields we care about
With Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "mail.<website>.com"
'.Item(cdoSMTPServerPort) = 25
'.Item(cdoSMTPConnectionTimeout) = 10
'.Item(cdoSMTPAuthenticate) = cdoBasic
'.Item(cdoSendUserName) = "support"
'.Item(cdoSendPassword) = "password"
.Update
End With
Set objMessage = Server.CreateObject("CDO.Message")
Set objMessage.Configuration = objConfig
With objMessage
.To = lEmailTo '"Display Name <email_address>"
.From = lEmailFrom '"Display Name <email_address>"
.Subject = lSubject
.TextBody = lMessage
.Send
End With
起初我认为它可能与上述 sn-p 中的注释行 9-13 相同,但似乎以前的开发人员故意对它们进行了注释,并且电子邮件功能在某个时间点仍然有效。取消注释这些行仍然不能解决错误。
谁能看到我可能遗漏的任何东西?有谁知道 CDO.Configuration 的默认值是什么,以及这段代码试图与我们的共享主机一起使用什么 SMTP 设置?我应该先打电话给我们的主机并与他们澄清吗?
【问题讨论】:
-
暗示这段代码在“某个时候”工作,但现在不是。当它停止工作时发生了什么变化?
-
我认为这是因为我们使用的共享主机发生了变化。尽管如此,你让我再次思考这个问题,现在它已经解决了!
标签: vbscript asp-classic