CDOSYS错误'80040213' - 无法连接到服务器

时间:2016-12-09 11:37:42

标签: asp-classic

我有一个运行IIS的Windows Server 2003 R2和一个使用经典ASP的网站。 试图让它使用CDOSYS通过我们自己的(外部)托管的office365交换服务器发送电子邮件。

我收到以下错误

CDO.Message.1 error '80040213'
The transport failed to connect to the server.

这通常意味着3个问题之一:  1. SMTP服务器/端口不正确  2.登录/密码不正确  3. FROM地址无效,根据SMTP服务器(错误的域名)

根据供应商,SMTP服务器和端口是正确的。 登录/密码是正确的,因为我可以使用这些详细信息登录邮件帐户 FROM地址是正确的,因为那是我用来登录的帐户。

我可以从该地址和端口上的Web服务器远程登录到Exchange服务器,因此至少可以从服务器建立连接。

所以目前我不知道问题可能是什么。 有没有人对我需要注意的任何事情有任何指示?

这是网站使用的配置

myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing")=2 
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver")="smtp.office365.com"
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=587
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 20
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "username"
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"

4 个答案:

答案 0 :(得分:0)

您是否在Office 365中设置了SMTP中继?

从Office 365管理员转到:

  1. 管理员>交换
  2. 邮件流程>连接器
  3. 单击“添加新的SMTP中继连接器”
  4. 从"您所在组织的电子邮件服务器中选择"到"办公室365"
  5. 为连接器指定名称和说明
  6. 选择按IP地址验证并添加您的网络服务器IP
  7. 保存

答案 1 :(得分:0)

尝试Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25

使用Office 365,即使使用身份验证,cdo似乎也更喜欢端口25。

如果有帮助的话,这是一个久经考验的配置

Set iConfg = Server.CreateObject("CDO.Configuration")
Set Flds = iConfg.Fields
With Flds
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.office365.com"
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = true
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "myusername"
        .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "mypassword"
        .Update
End With
objMail.Configuration = iConfg

答案 2 :(得分:0)

好吧,我最终解决了这个问题。 我需要使用不同的方法连接到office365服务器。 所以现在一切正常。

答案 3 :(得分:0)

尝试

.Item("http://schemas.microsoft.com/cdo/configuration/smtpsendtls") = 1

代替

.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = 1