9

我有一个应用程序从“用户 A”中提取电子邮件,电子邮件地址为 UserA@email.com。我使用以下代码来执行此操作:

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010);
service.UseDefaultCredentials = true;
service.Url = new Uri(ServerName);

FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, new  ItemView(500));

如果用户 A 已登录并运行应用程序,这将正常工作。

但是,假设“用户 B”已被授予对用户 A 收件箱的访问权限,并希望运行相同的应用程序以从用户 A 的收件箱中提取文件。如何更改上面的代码以指定电子邮件帐户收件箱?

我知道在获取凭据时我可以硬编码用户 A 的登录详细信息,但理想情况下,我会避免硬编码用户名,而是使用运行应用程序的用户的凭据。

这可能只是我缺乏理解,但我对 .net 相对较新,对 EWS 也很陌生。任何指针将不胜感激!

谢谢

4

1 回答 1

17

委托是我需要的:

FolderId InboxId = new FolderId(WellKnownFolderName.Inbox, "UserA@email.com");
FindItemsResults<Item> findResults = service.FindItems(InboxId, new ItemView(500));
于 2012-04-24T10:58:06.517 回答