繁体   English   中英

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

[英]CDO failed to connect on ports 465 and 587 but works on 25

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

到目前为止,本地已配置为使用端口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个VPN上发送,但不能在465或587 VPN上发送-不能在这些端口中的任何一个上发送外部-不能在这些端口中的任何一个上发送

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

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

我使用WireShark尝试找出客户端和服务器之间正在通信的内容(这适用于Local场景)。 结果如下:

在端口25上交换(工作)

在端口465上交换(失败)

在端口587上交换(失败)

Gmail在端口465上(有效)

Gmail在端口587上(失败)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM