gpt4 book ai didi

c# - 在混合 Exchange 版本上使用 EWS API 的问题

转载 作者:太空宇宙 更新时间:2023-11-03 14:02:33 27 4
gpt4 key购买 nike

我有一个使用 EWS API 的应用程序。有些计算机使用 Exchange 2003,有些计算机使用 2007/2010。最初,在我的应用程序中,我只使用了:

ExchangeService service = new ExchangeService();
service.UseDefaultCredentials = true;
service.AutodiscoverUrl(url);

但我很快发现在使用 2003 的计算机上失败,并出现错误:“客户端邮箱必须位于 Exchange Server 2010 或更高版本上”。所以我将代码更改为(显然删除了 Exchange 服务器的实际地址):

ExchangeService service = new ExchangeService();
service.UseDefaultCredentials = true;
service.Url = new Uri("https://.....");

现在我收到错误:“请求的邮箱不支持指定的 RequestServerVersion。”。

所以,我想我明白为什么会发生这种情况,而且看起来我必须做一些完全不同的事情才能让它在 2003 年运行。除了没有使用 Net.Mail api 之外,我不确定具体如何去做吧。我仍然可以使用 EWS API 吗?如果可以,我需要更改什么才能让它在两者上都起作用?

最佳答案

Exchange 2003(2000?) 使用不同的 API,与 EWS 完全不同。 Exchange 2007 支持这两种 API。

您可以使用 CDO How do I use CDO with Exchange with vbscript

或 WebDAV Access Your Exchange 2000 / 2003 Mailbox With WebDAV .

注意事项
我认为最好使用 New ExchangeService(ExchangeVersion.Exchange2007_SP1),这样您就可以确定它适用于 2007 并在 2010 上使用向后兼容性。

关于c# - 在混合 Exchange 版本上使用 EWS API 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10343101/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com