2

我有一个使用 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,如果可以,我需要更改哪些内容才能使其同时在两者上工作?

4

1 回答 1

1

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

您可以使用 CDO如何将 CDO 与 Exchange 与 vbscript 一起使用

或 WebDAV使用 WebDAV访问您的 Exchange 2000 / 2003 邮箱

注意
我认为它更好用New ExchangeService(ExchangeVersion.Exchange2007_SP1),那么你确定它与 2007 一起工作并在 2010 上使用向后兼容性。

于 2012-05-02T10:12:31.800 回答