Exchange server 使用EWS API搜索不同用户的邮箱

Exchange server 使用EWS API搜索不同用户的邮箱,exchange-server,exchangewebservices,Exchange Server,Exchangewebservices,我们正在开发一个模块,主要目标是跟踪和收集有关损坏检查(保险市场)的信息。每个案例都有一个代码(例如L000525)。每个案例都可以由多人管理。所有与特定案例相关的电子邮件都包含主题中的案例代码 我们要做的是收集并显示与每个特定案例相关的传入和发送的电子邮件 其理念是,任何用户都可以打开“案例管理”窗口,选择特定案例,然后获取所有相关信息(当然包括电子邮件) 我们必须在大约20个用户的邮箱中找到这些电子邮件。因此,问题是: 哪种方法更好?它会消耗大量的时间和资源吗 我们是Exchange世界

我们正在开发一个模块,主要目标是跟踪和收集有关损坏检查(保险市场)的信息。每个案例都有一个代码(例如L000525)。每个案例都可以由多人管理。所有与特定案例相关的电子邮件都包含主题中的案例代码

我们要做的是收集并显示与每个特定案例相关的传入和发送的电子邮件

其理念是,任何用户都可以打开“案例管理”窗口,选择特定案例,然后获取所有相关信息(当然包括电子邮件)

我们必须在大约20个用户的邮箱中找到这些电子邮件。因此,问题是:

  • 哪种方法更好?它会消耗大量的时间和资源吗

我们是Exchange世界的新手,所以我们正在考虑Exchange模拟,但我们一点也不确定。该模块是在Silverlight 3、WCF、SQL Server+Exchange 2007中开发的。

如果用于连接EWS的凭据具有访问用户邮箱的权限,则您应该能够执行以下操作:

var service = new ExchangeService();
service.Credentials = new WebCredentials("user_with_access@example.com", "password");
service.AutodiscoverUrl("a_valid_user@example.com");

var userMailbox = new Mailbox("target_user@example.com");
var folderId = new FolderId(WellKnownFolderName.Inbox, userMailbox);

var itemView = new ItemView(20);   // page size
var userItems = service.FindItems(folderId, itemView);

foreach (var item in userItems)
{
    // do something with item (nb: it might not be a message)
}

就这样。哇,我的第一个答案

下面是@SMINTOSH在上面所做工作的完整示例:。它是一个完整的java类,应该编译、运行并访问房间资源日历。祝你好运

这肯定对我有帮助。我需要通过一次登录从共享日历中获取所有约会的列表。事实证明,除了为我的登录在每个日历上设置“审阅者”权限之外,我还需要做的就是这样做。在Exchange 2013(Office 365)中,用户至少需要“完整详细信息”权限。受限或仅可用将不起作用。该类称为FolderId not FolderId,其余的工作正常。谢谢!伟大的一个关于日历的例子(非常类似)是一个只给过一个答案的人,他肯定给了一个皮带。