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?
Mail attribute: Holds the primary email address of a user, without the SMTP protocol prefix. For example, [email protected] . MailNickName attribute: Holds the alias of an Exchange recipient object.
Find SMTP addresses in Active DirectoryGo to the user object properties and click on the attribute editor tab. Find the attribute proxyAddresses. The same two SMTP email addresses are shown as values, just like we saw earlier in the Exchange Admin Center. You have seen the SMTP addresses in both places.
Disclaimer: This code doesn't search for a single exact match, so for domain\j_doe
it may return domain\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):
// get a DirectorySearcher object DirectorySearcher search = new DirectorySearcher(entry); // specify the search filter search.Filter = "(&(objectClass=user)(anr=" + account + "))"; // specify which property values to return in the search search.PropertiesToLoad.Add("givenName"); // first name search.PropertiesToLoad.Add("sn"); // last name search.PropertiesToLoad.Add("mail"); // smtp mail address // perform the search SearchResult result = search.FindOne();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With