Плагин Outlook — поиск в глобальной адресной книге

Кто-нибудь знает, как искать в глобальной адресной книге на сервере обмена? Кажется, что «Адресная книга» отличается от общедоступного списка контактов, поэтому этот популярный пример кода (или аналогичный) указывает на совершенно другой набор контактов:

Outlook.Application app = new Outlook.Application();
Outlook._NameSpace olNS = app.GetNamespace("MAPI");
Outlook._Folders oFolders = olNS.Folders;
Outlook.MAPIFolder oContactsFolder = olNS.Folders["Public Folders"].Folders["All Public Folders"].Folders["Contacts"];

Мне нужно найти конкретное имя контакта. PS: - Я использую Outlook 2007. Большое спасибо...


person monibius    schedule 11.05.2010    source источник


Ответы (2)


Если вы находитесь в сети, вызов с использованием ADSI будет подходящим способом, в автономном режиме вы при просмотре расширенного mapi есть ответ на этот здесь на SO используя искупление.

person 76mel    schedule 14.05.2010

Процесс очень утомительный и подвержен ошибкам. Я думаю, вам может пригодиться приведенная ниже статья на Add-In Express:

Как преобразовать адрес электронной почты на основе Exchange в адрес электронной почты SMTP

Я думаю, что для работы не нужны их инструменты, но я не совсем уверен, так как они у меня были, когда я пробовал. Код находится в VB, но у них есть пример проекта, доступный для загрузки на C #, если вы предпочитаете. Он довольно длинный и содержит множество вызовов COM-объектов, поэтому потребуется опыт работы с ним. Также я не совсем уверен, будет ли он работать в 64-битной версии Outlook. Может быть, вы хотите попробовать это в первую очередь.

person Pavel Donchev    schedule 17.11.2011