【发布时间】:2020-10-27 10:42:50
【问题描述】:
我正在尝试使用 CDO.Message 从我的网络服务器发送电子邮件。 发送到内部电子邮件地址时一切正常,但发送到外部电子邮件地址时失败。
error '8004020f'
sendmail.asp, line 46
第 46 行是myMail.Send
我已经尝试过使用身份验证(当前已注释掉),也尝试过不使用身份验证,但仍然出现相同的错误。 尝试了我在这里找到的各种建议,但到目前为止没有任何效果。
我假设这是一个身份验证问题,但即使我使用身份验证也失败了。
“发件人”地址是邮件服务器上的有效真实帐户。并且使用的用户/通行证设置用于“发件人”地址。
有什么可以指出这一点的指针吗?
Set myMail=CreateObject("CDO.Message")
myMail.Subject="subject_goes_here"
myMail.From="from_email_address"
myMail.To="to_email_address"
myMail.TextBody="body goes here"
myMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
myMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver")="mail_server_address"
myMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25
'myMail.Configuration.Fields.Item _
'("http://schemas.microsoft.com/cdo/configuration/sendusername") = "username"
'myMail.Configuration.Fields.Item _
'("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"
myMail.Configuration.Fields.Update
myMail.Send
set myMail=nothing
Web 服务器是 Windows Server 2003 R2 上的 IIS6。 邮件服务器是 Exchange。
更新 - 我现在正在尝试使用 gmail 发送电子邮件,并收到不同的错误。
CDO.Message.1 error '80040213'
The transport failed to connect to the server.
sendemail.asp, line 48
我使用的代码是
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver")="smtp.gmail.com"
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=465
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 20
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "gmailusername"
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"
【问题讨论】:
-
如果您正在使用身份验证,那么您需要另一个配置行来指定这一点 - 例如,
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1如果您正在使用基本身份验证。这个链接可能有用powerasp.net/content/new/sending_email_cdosys.asp -
我已经尝试过了,不幸的是它仍然会产生同样的错误。我也有一个 gmail 帐户,我尝试将其用于 SMTP,但我也无法使用它。
-
我已经更新了原始问题以包括我的 gmail 尝试 - 这也失败了。
-
我认为 gmail smtp 服务器使用端口 587
-
587 端口也失败了
标签: email asp-classic cdo.message