使用CDO.Message发送电子邮件 - 发送到外部地址时失败

时间:2016-04-06 12:31:39

标签: email asp-classic cdo.message

我尝试使用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"

1 个答案:

答案 0 :(得分:0)

好吧,我终于解决了这个问题。 但我们最终使用了一个不同的邮件提供商,它允许经过身份验证的SMTP中继。