Microsoft Exchange:如何解析一个杰出的名称

我该如何解决这个问题:

/O=CHEESE/OU=FIRST ADMINISTRATIVE GROUP/CN=RECIPIENTS/CN=LHALA1 

到电子邮件地址? 我必须使用Exchange Web服务吗?

我假设这是legacyExchangeDN属性。

尝试这样的事情:

 string dn = "/O=CHEESE/OU=FIRST ADMINISTRATIVE GROUP/" + "CN=RECIPIENTS/CN=LHALA1"; string MailAddress=string.Empty; string user = string.Empty; using (DirectorySearcher ds = new DirectorySearcher()) { ds.Filter = string.Format("(&(ObjectClass=User)(legacyExchangeDN={0}))", dn); SearchResultCollection src = ds.FindAll(); if (src.Count > 1) { //Oops too many! } else { user = src[0].Properties["samAccountName"][0].ToString(); MailAddress = src[0].Properties["Mail"][0].ToString(); } } 

如果您可以对目录执行LDAP搜索,则可以检索该用户的条目,然后默认电子邮件地址将位于mail:属性中

如果它是启用邮箱的Exchange用户,则在proxyAddresses:属性,联系人或非邮箱已启用邮件的用户中也会有地址,targetAddress中将有远程地址:属性