0

我们有一个旧版 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。因此,根据我的网络管理员的说法,我们现在拥有使用相同 Exchange 接收连接器的端口 25 和 587,并设置为使用 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 但不是 587 上的 gmail 从我们的系统发送 SMTP。

在这一点上,这已经超出了我的范围,我真的不知道从哪里开始。有没有人对可能发生的事情有任何想法?

我使用 WireShark 试图弄清楚我的客户端和服务器之间正在通信的内容(这将用于本地场景)。以下是一些结果:

在端口 25 上交换(已工作)

在端口 465 上交换(失败)

在端口 587 上交换(失败)

端口 465 上的 Gmail(已工作)

端口 587 上的 Gmail(失败)

4

1 回答 1

0

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

于 2014-12-22T20:40:21.673 回答