【发布时间】:2012-05-02 18:12:31
【问题描述】:
我有一个使用 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?如果可以,我需要进行哪些更改才能使其同时在两者上工作?
【问题讨论】:
-
EWS 是随 Exchange 2007 引入的,因此我不会使用 2003。我认为您必须先告诉我们您要完成的工作,然后我们才能建议您使用哪个 API。
-
我希望能够从这个应用程序发送电子邮件。这里的一些计算机使用 Exchange 2007,一些使用 2003。我已经让它与 2007 一起工作。为了让它与 2003 一起工作,我应该只使用 Net.Mail api 还是有另一种/更好的方法?跨度>