我该如何解决这个问题:
/O=CHEESE/OU=FIRST ADMINISTRATIVE GROUP/CN=RECIPIENTS/CN=LHALA1
到一个电子邮件地址?我必须使用 Exchange Web 服务吗?
我该如何解决这个问题:
/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: 属性中也会有远程地址