ASP Classic Email' 80040213'传输无法连接到服务器

时间:2016-09-14 18:54:44

标签: email asp-classic

我知道有很多问题,但似乎没有一个答案对我有用。

我的应用程序是ASP Classic,它运行的服务器是Windows Server 2000(我知道很老),我使用的是Office365服务器,当我登录到Office365时,我正在使用Office365提供的信息。电子邮件(端口587,正确的用户名和密码,正确的smtp服务器,TLS设置为true)。

我总是得到" CDO.Message.1错误' 80040213'传输无法连接到服务器。"作为错误消息,它出错的行是.Send命令。

hh:mm:ss

我尝试使用端口25而没有任何运气。如果我使用另一个根本不使用SSL的电子邮件服务(本地服务,而不是Office365),我没有问题(我注释掉usessl并将端口更改为25)。此外,如果我尝试使用不同的电子邮件服务,我在ASP.Net应用程序中运行完美,我得到相同的问题,这个其他电子邮件服务使用端口25和SSL,而不是Office365服务。

3 个答案:

答案 0 :(得分:0)

我以前遇到过这个问题。基本上,您没有通过身份验证来使用服务器上的邮件传输。

您的SMTP服务器不允许发送出站邮件(例如停止邮件中继),您的用户名和密码不正确,或者您使用的端口需要更高的安全级别来发送邮件。在后一种情况下,Office365可能需要SSL身份验证......也许值得一看。

如果其他所有方法都失败了,您可以尝试使用第三方提供商。我们在4.35英镑的套餐中使用SendInBlue。您可以通过他们的系统发送最多40,000封电子邮件。我们发现将邮件发送到第三方完全消除了停止邮件传输功能的服务器设置问题。我们现在将它用于Classic ASP和PHP站点。

希望有所帮助。

答案 1 :(得分:0)

使用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") = "myaccount@mydomain.com"
        .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "mypassword"
        .Update
End With
objMail.Configuration = iConfg

答案 2 :(得分:0)

我终于能够通过将应用程序移动到Windows Server 2012计算机来实现这一目标。我不得不跳过几个循环,这些循环在服务器之间移动了旧的东西,但我能够让它工作。

我只能使用25号港口,587不起作用。请记住,我在原始服务器上尝试了端口25,但也没有在那里工作。