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



我正在尝试使用CDO.Message从我的web服务器发送电子邮件。发送到内部电子邮件地址时一切正常,但发送到外部电子邮件地址时失败。

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"

我最终解决了这个问题。但我们最终使用了另一个邮件提供程序,它允许经过身份验证的SMTP中继。

最新更新