.net - Microsoft.Exchange.WebServices.Data -- 底层连接已关闭错误
问题描述
我正在使用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 的完全限定域名打开。以下是捕获并成功确认的网络,它似乎仍然失败。请让我知道可能导致此问题的原因。谢谢,
解决方案
如果您运行它的服务器运行的是旧版本的 .Net 框架,Office365 很可能要求您使用 TLS 1.2,这不是默认的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(只要框架不是很旧)
推荐阅读
- matlab - Simulink:未导入输入端口
- json - springboot服务器使用邮递员发布请求后返回错误400
- wso2 - 如何连接运行 wso2 API 管理器的服务器以在运行 wso2 分析的服务器上显示静态
- python - 为什么替换功能没有按预期工作?
- c# - 如何使用 .NET/C# 将 VBA 宏注入 Word 文档?
- google-cloud-platform - 读取发布/订阅消息并存储为 BigTable 中的列值
- python - 曲面图上的连续颜色图
- angular - Angular-隐藏按钮,直到满足某些条件
- python - 在 Python 上加密 aes-256-ctr 并在 PHP 上解密
- c++ - 比较具有不同名称的相同类型