13.01.2012, 15:19 | #1 |
Участник
|
Проверка существования email-адреса в Active Directory через ADSI
В моем случае для работы разного рода рассылок пользователям в настройках того или иного функционала указываются SMTP-адреса, обычно привязанные к локальной (офисной) почтовой системе. При этом, если почтовый адрес указан некорректно, то сообщения по нему, очевидно, доставлены не будут, и посыпятся ошибки от Exchange Server'а. Чтобы снизить вероятность ошибочного указания в настройках несуществующего в домене почтового адреса, был создан вспомогательный класс ADS_tools, обращающийся к Active Directory (AD) и ищущий там кого-либо с таким email'ом. У класса есть один статический метод:
X++: public static boolean isEmailPresentInAD(email _email, str _namingContext = '') Изначально адреса искались в свойстве proxyAddresses объектов AD, однако, недавно я столкнулся со случаем, когда это свойство в одном домене заполнено не было (возможно, из-за "особенностей" администрирования Exchange Server'а). Чтобы обойти эту ситуацию, была добавлена также проверка свойства mail, хотя в нем может быть указан лишь один адрес, в то время как в proxyAddresses - несколько. При желании это свойство можно исключить из поискового запроса, тогда он будет выглядеть не так: PHP код:
PHP код:
|
|
|
За это сообщение автора поблагодарили: ta_and (4), oip (5), alvares (1). |
Теги |
active directory, email, законченный пример, полезное |
|
|