I am trying to get a user’s email address in AD without success.
String account = userAccount.Replace(@'Domain\', ''); DirectoryEntry entry = new DirectoryEntry(); try { DirectorySearcher search = new DirectorySearcher(entry); search.PropertiesToLoad.Add('mail'); // e-mail addressead SearchResult result = search.FindOne(); if (result != null) { return result.Properties['mail'][0].ToString(); } else { return 'Unknown User'; } } catch (Exception ex) { return ex.Message; }
Can anyone see the issue or point in the right direction?
Disclaimer: This code doesn’t search for a single exact match, so for
domain\j_doeit may returndomain\j_doe_from_external_department‘s email address if such similarly named account also exists. If such behaviour is undesirable, then either use a samAccountName filter intead of an anr one used below or filter the results additionally.I have used this code successfully (where ‘account’ is the user logon name without the domain (domain\account):