0

从部署在 Intranet 上的 .net Web 应用程序中:

<authentication mode="Windows" />
<identity impersonate="true" />

在 web.config 中,我需要能够让用户输入日期和时间以及电子邮件地址,并将日期和时间作为约会添加到电子邮件地址的日历中。

为了让事情开始,我想我会尝试访问一个邮箱并获取 10 条消息的主题:

ExchangeService myService = new ExchangeService(ExchangeVersion.Exchange2007_SP1);

myService.Credentials = new WebCredentials("jsmith", "mypassword");

myService.AutodiscoverUrl("fred.bloggs@mycompany.com");

FindItemsResults<Item> myResults = myService.FindItems(WellKnownFolderName.Inbox, new ItemView(10));

什么样的作品。我得到了一个包含 10 个电子邮件主题的列表 - 但是,无论我将谁的电子邮件地址作为 AutodiscoverUrl 方法的参数输入 - 我最后 10 封电子邮件的 10 个主题总是被返回。我怎样才能访问 Fred Bloggs 的电子邮件,当我做到这一点时,访问他的日历(这是我真正需要做的)并输入约会?谢谢你的帮助

4

1 回答 1

0

您作为参数提供的电子邮件myService.AutodiscoverUrl仅用于查找服务。因此,对于所有电子邮件,您可能会为来自同一域的所有电子邮件获得相同的服务。要访问其他用户的收件箱,您需要转到他们的文件夹(如果您有适当的权限)。

Microsoft.Exchange.WebServices.Data.FolderId _cal = new Microsoft.Exchange.WebServices.Data.FolderId(WellKnownFolderName.Inbox, new Mailbox("fred.bloggs@mycompany.com"));
Folder rootfolder = Folder.Bind(myService,  _cal);
FindItemsResults<Item> myResults = rootfolder.FindItems(new ItemView(10));
于 2012-04-06T14:03:09.180 回答