我有一段代码可以在本地机器上正确运行,以便使用 EWS 从邮箱中读取邮件。
我的代码如下所示:
var exchange = new ExchangeService(ExchangeVersion.Exchange2013_SP1);
(...)
FindItemsResults<Item> foundItems = exchange.FindItems(WellKnownFolderName.Inbox, filter, new ItemView(100));
我在从示例中删除的其他行中应用身份验证和凭据。调用 FindItems 的行正确返回了来自我本地环境机器的邮件消息的结果。
一旦我将此代码部署到 Azure 中的服务应用程序,FindItems 调用将返回以下错误:
- 请求失败。请求的名称有效,但未找到请求类型的数据。请求的名称有效,但未找到请求类型的数据。[2021-11-22 14:20:10.885 +00:00] [20] [错误] [Configuration.IExtendedLog] - 在 Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetEwsHttpWebResponse(IEwsHttpWebRequest request) 在 Microsoft.Exchange.WebServices .Data.ServiceRequestBase.ValidateAndEmitRequest(IEwsHttpWebRequest& request) 在 Microsoft.Exchange.WebServices.Data.MultiResponseServiceRequest`1.Execute() 在 Microsoft.Exchange.WebServices.Data.SimpleServiceRequestBase.InternalExecute() 在 Microsoft.Exchange.WebServices.Data.ExchangeService .FindItems[TItem]
我试图找到一些关于它的文章,但它似乎是一个普遍的错误,无法找到与我的案例相关的方法。
你对这个案子有什么建议吗?Azure 是否以某种方式阻止了对邮箱的调用?我已经阅读了一些显示使用 webProxy 的帖子,但不确定这是否是最可行的解决方案。您对使用 Azure Service App 和 ExchangeService 时出现此类错误有任何经验吗?