2016-04-06 54 views
0

我试图使用CDO.Message从我的Web服务器发送电子邮件。 发送到内部电子邮件地址时一切正常,但发送到外部邮件时失败。使用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

如果您使用身份验证,那么您需要另一个配置行来指定 - 例如'myMail.Configuration.Fields.Item(“http://schemas.microsoft.com/cdo/configuration/smtpauthenticate”)= 1'如果你使用基本认证。这个链接可能是有用的http://www.powerasp.net/content/new/sending_email_cdosys.asp – John

+0

我已经尝试过,它不幸仍然会产生相同的错误。 我也有一个Gmail的帐户,我试图用于SMTP,我也无法让它工作。 – chenks

+0

我已经更新了原始问题以包含我的Gmail尝试 - 这也失败了。 – chenks

回答

0

以及我最终得到了这个解决。 但我们最终使用了不同的邮件提供程序,它允许通过身份验证的SMTP中继。

相关问题