Microsoft.Exchange.WebServices.Data -- 底层连接被关闭错误

Microsoft.Exchange.WebServices.Data -- The underlying connection was closed Error

我正在使用 Microsoft.Exchange.WebServices.Data 连接到 Office 365 outlook 并提取电子邮件及其附件。这在本地开发机器上正常工作。我移至服务器后它无法正常工作并失败并显示以下错误消息。

Error: 0 : Exception occurred: The request failed. The underlying connection was closed: An unexpected error occurred on a receive.    at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetEwsHttpWebResponse(IEwsHttpWebRequest request)
   at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.ValidateAndEmitRequest(IEwsHttpWebRequest& request)
   at Microsoft.Exchange.WebServices.Data.MultiResponseServiceRequest`1.Execute()
   at Microsoft.Exchange.WebServices.Data.ExchangeService.FindItems(FolderId parentFolderId, String queryString, ViewBase view)

已为 outlook 的完全限定域名打开防火墙。office365.com 来自服务器。下面是抓到的网络,已经ack成功了,貌似还是失败了。请让我知道这个问题的可能原因。谢谢,

enter image description here

很可能是它的 TLS,Office365 要求你使用 TLS 1.2,如果你的 运行 它所在的服务器是 运行 旧版本的 .Net 框架,这不是默认的 https://docs.microsoft.com/en-us/mem/configmgr/core/plan-design/security/enable-tls-1-2-client.

一般只是做

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

将确保您的代码始终使用 TLS 1.2(只要框架不是很旧)