我正在使用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的完全限定域名的防火墙。以下是捕获到的网络并成功确认,但它似乎仍然失败。请让我知道可能是此问题的原因。谢谢,
[很有可能是其TLS,如果在其上运行的服务器正在运行旧版本的.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(只要框架不是真的很旧)