Как я могу получить внешний адрес электронной почты пользователя из MapiRecipDesc? - PullRequest
2 голосов
/ 07 января 2010

Мне нужно знать, как получить адрес электронной почты, используя MAPI. Когда я проверяю содержимое структуры MapiRecipDesc ​​ (возвращаемой, например, при вызове MAPIAddress()), я вижу, что поле lpszAddress содержит не обычный SMTP-адрес, но что-то вроде запроса к серверу Exchange:

EX: / o = MMS / ou = Административная группа Exchange (FYDIBOHF23SPDLT) / cn = Получатели / cn = laiic

Полагаю, я мог бы использовать это для извлечения дополнительной информации из Exchange через Active Directory ... Кто-нибудь знает, могу ли я таким образом получить внешний адрес электронной почты, и если да, то как мне это сделать?

1 Ответ

1 голос
/ 08 января 2010

Я давно работал с MAPI, но в двух словах:

Это адрес X500.

Вы должны иметь возможность искать этот адрес через LDAP (к серверу AD), используя атрибут LegacyExchangeDN в качестве фильтра.

В этот момент вы можете извлечь атрибут proxyAddresses возвращаемого объекта и выполнить итерацию по нему, ища адрес с префиксом smtp: ... тот, у которого SMTP в верхнем регистре: является основной учетной записью электронной почты для объекта, если больше чем один smtp: существует

...