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

标签 .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)

已为服务器上的outlook.office365.com 的完全限定域名打开防火墙。下面是抓到的网络,已经确认成功了,好像还是失败了。请让我知道可能是什么原因导致此问题。谢谢,

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(只要框架不是很旧)

关于.net - Microsoft.Exchange.WebServices.Data -- 底层连接已关闭错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61761966/

相关文章:

calendar - 通知和同步 Exchange/Office-365 日历

c# - 如何使用 EWS 托管 API 回复电子邮件?

asp.net - 在 .NET Core 2.0 中显示 json 数据的问题

c# - 通过名称获取枚举成员的值?

c# - 电子表格齿轮和日期时间格式

c# - 如何在resx文件中写入换行符\n?

c# - 有没有办法通过控制台应用程序 C# 连接启用 Azure AD MFA 的 Outlook 邮箱?

c# - C# 库是否有 OnLoad 事件?

c# - Exchange Web 服务 (EWS) 调用在 ASP.NET 下失败,但在控制台应用程序下失败

office365 - Exchange Server(内部)是否支持 REST API?