2014-12-24 18 views
1

У меня есть четыре почтовых ящика в моем клиенте Outlook 2013 на работе, мой личный ([email protected]), а остальные три - общие почтовые ящики для проектов/команд, на которых я нахожусь, например, ([email protected]), ([email protected]) и т. д.Как получить доступ к адресной книге общего почтового ящика в Outlook программно

Я использую C# и могу получить доступ к адресной книге контактов для моего собственного почтового ящика просто отлично, но я хотел бы знать, как для доступа к другим контактам почтового ящика?

Это прекрасно работает при доступе свои контакты:

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

Что такое эквивалент для почтового ящика сказать ([email protected])? У меня есть имя пользователя и пароль для этой учетной записи на всякий случай, если вам это нужно, но я не думаю, что вам это нужно, так как я создаю AddIn, который будет использоваться во время активного сеанса пользователя.

ответ

3

Позвоните в Namespace.CreateRecipient и передайте возвращаемый объект получателя функции Namespace.GetSharedDefaultFolder.

0

Вы можете получить специальную папку по умолчанию, используя метод GetDefaultFolder класса Store. Таким образом, вы можете перебирать все магазины в профиле и получать папки, зависящие от магазина. Класс Namespace предоставляет свойство Stores, которое возвращает объект коллекции Stores, который представляет все объекты Store в текущем профиле.

Для получения дополнительной информации см. How to: Enumerate Folders on All Stores.

+0

Я не вижу, как Магазин относится к адресной книге контактов (CAB)? Почему решение Store отклонится от решения, которое я использовал выше для CAB моего профиля? Спасибо –

+0

Вы пытались использовать 'store.GetDefaultFolder (Outlook.OlDefaultFolders.olFolderContacts)'; метод? –

Смежные вопросы