如何以编程方式访问Outlook中的共享邮箱的联系人通讯簿

时间:2014-12-24 19:34:33

标签: c# outlook exchange-server outlook-addin

我的Outlook 2013客户端中有四个邮箱,我的个人(Me@MyCompany.Com),另外三个是我所在的项目/团队的共享邮箱,例如,(Sales@MyCompany.Com), (ProjectFinance@MyCompany.Com)等。

我正在使用C#并且可以访问我自己邮箱的联系人通讯簿,但我想知道如何访问其他邮箱的联系人?

访问我自己的联系人时,此功能正常:

Outlook.MAPIFolder myContactsFolder = application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts);

说邮箱(Sales@MyCompany.Com)的等价物是什么?我确实拥有此帐户的用户名和密码,以防您需要,但我不相信您需要它,因为我正在创建一个将在用户活动会话期间使用的AddIn。

2 个答案:

答案 0 :(得分:3)

调用Namespace.CreateRecipient并将返回的Recipient对象传递给Namespace.GetSharedDefaultFolder函数。

答案 1 :(得分:0)

您可以使用Store类的GetDefaultFolder方法获取特定于商店的默认文件夹。因此,您可以遍历配置文件中的所有商店并获取特定于商店的文件夹。 Namespace类提供Stores属性,该属性返回一个Stores集合对象,该对象表示当前配置文件中的所有Store对象。

有关详细信息,请参阅How to: Enumerate Folders on All Stores