我们有一个传统的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试图找出我的客户端和服务器之间的通信内容(这适用于本地方案)。以下是一些结果:
答案 0 :(得分:0)
如果有人有兴趣,我们终于找到了解决方法。我们的网络管理员在我们的Exchange服务器上安装了STunnel,并将其配置为监视端口465.这使一切都恢复正常。