18

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

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

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

我们必须在大约 20 个用户的邮箱中找到电子邮件。所以问题是:

  • 哪种方法更好?会不会耗费大量时间和资源?

我们是 Exchange 世界的新手,因此我们正在考虑 Exchange 模拟,但我们完全不确定。该模块是在 Silverlight 3、WCF、SQL Server + Exchange 2007 中开发的。

4

2 回答 2

61

如果用于连接到 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)
}

而已。哇,我的第一个 SO 答案!

于 2011-03-10T18:03:04.480 回答
1

@smcintosh 上面所做的完整工作示例在这里:Office365 API - Admin access another users/room's calendar events。它是一个完整的 java 类,应该编译和运行并访问房间资源日历。祝你好运!

于 2016-08-19T15:01:36.423 回答