Microsoft.Exchange.WebServices.Data -- 基础连接已关闭错误

aru*_*ruN 5 .net exchangewebservices

我正在使用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)
Run Code Online (Sandbox Code Playgroud)

已针对服务器上的 Outlook.office365.com 完全限定域名打开防火墙。以下是网络捕获并已成功确认,但似乎仍然失败。请让我知道导致此问题的原因可能是什么。谢谢,

在此输入图像描述

Gle*_*les 11

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

一般只是做

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
Run Code Online (Sandbox Code Playgroud)

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