使用CDO.Message发送电子邮件 - 发送到外部地址时失败
问题描述:
我试图使用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"
答
以及我最终得到了这个解决。 但我们最终使用了不同的邮件提供程序,它允许通过身份验证的SMTP中继。
如果您使用身份验证,那么您需要另一个配置行来指定 - 例如'myMail.Configuration.Fields.Item(“http://schemas.microsoft.com/cdo/configuration/smtpauthenticate”)= 1'如果你使用基本认证。这个链接可能是有用的http://www.powerasp.net/content/new/sending_email_cdosys.asp – John
我已经尝试过,它不幸仍然会产生相同的错误。 我也有一个Gmail的帐户,我试图用于SMTP,我也无法让它工作。 – chenks
我已经更新了原始问题以包含我的Gmail尝试 - 这也失败了。 – chenks