[英]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場景)。 結果如下:
我們終於找到了解決方法,以防有人感興趣。 我們的網絡管理員在我們的Exchange服務器上安裝了STunnel,並將其配置為監視端口465。這使一切再次正常運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.