CDO无法在端口465和587上连接,但在25上工作

时间:2014-12-18 22:26:44

标签: smtp visual-foxpro cdo.message cdonts

我们有一个传统的FoxPro应用程序,它使用CDO for NTS通过我们的Exchange服务器发送STMP电子邮件。我们有3个位置:本地(应用程序在与Exchange服务器相同的域上运行),VPN(应用程序在通过VPN连接到域的外部网络上运行),外部(应用程序在外部网络上运行并通过Internet连接)。

到目前为止,Local已配置为使用端口25和SSL。 VPN和外部已配置为使用端口465和SSL。 (我的网络管理员的理解是,无法将Exchange配置为在465上执行SMTPS,我们必须使用STunnel)。

最近,我们对Exchange服务器进行了更改以禁用SSL并仅允许TLS。我们打开了587端口。所以根据我的网络管理员,我们现在有25端口和25端口。 587使用相同的Exchange接收连接器并设置为使用STARTTLS。端口465也已配置为使用STARTTLS并使用不同的Exchange接收连接器;但是,这些属性的配置与用于25&的属性相同。 587。

完成此更改后,我们的VPN和外部网站无法再通过该应用程序发送电子邮件。他们得到的错误信息是:

OLE IDispatch exception code 0 from CDO.Message.1: The transport failed to connect to the server.

所以,这是现状:

本地 - 可以发送25但不发送到465或587 VPN - 无法发送任何这些端口 外部 - 无法发送任何这些端口

我也尝试使用相同的代码,并且能够通过端口465和端口25上的gmail从我们的系统发送SMTP,但不是587。

此时我已经超越了我,我真的不知道从哪里开始。有没有人对可能发生的事情有任何想法?

我使用WireShark试图找出我的客户端和服务器之间的通信内容(这适用于本地方案)。以下是一些结果:

Exchange on port 25 (Worked)

Exchange on port 465 (Fail)

Exchange on port 587 (Fail)

Gmail on port 465 (Worked)

Gmail on port 587 (Fail)

1 个答案:

答案 0 :(得分:0)

如果有人有兴趣,我们终于找到了解决方法。我们的网络管理员在我们的Exchange服务器上安装了STunnel,并将其配置为监视端口465.这使一切都恢复正常。