首页 文章

活动目录和交换服务器 - 提取电子邮件地址

提问于
浏览
1

我有一个程序试图从AD中提取以下优先级的电子邮件地址:mail,email或userPrincipalName属性

有Microsoft Exchange服务器的客户端告诉我正在提取错误的电子邮件地址,即在userPrincpalName中(显示在windows用户属性选项卡帐户,字段'用户登录名'中) .

在AD资源管理器中,我已经证明不会返回邮件和电子邮件属性,因此软件会故障转移到userPrincipalName .

客户端已显示特定AD访问帐户已勾选以下权限:

阅读帐户限制阅读交换信息阅读交换个人信息阅读一般信息

但是,我们没有收到我们在Windows用户属性常规选项卡,AD中返回的电子邮件字段中看到的电子邮件地址 . 我们在AD Explorer中没有收到邮件/电子邮件AD属性 .

我没有在AD资源管理器中的任何位置看到相关用户的正确电子邮件地址 .

任何人都可以帮助我更好地理解这一点,或者我们如何能够获得正确的属性 .

1 回答

  • 1

    您要查找的字段名为“proxyAddresses”,它是一组显示为“SMTP:john.doe@example.com; smtp:j.doe@example.com”的字符串 .

    这意味着主要的Exchange地址是john.doe@example.com,其他的(在这个例子中,只有j.doe,但你可以有更多的地址)是次要的 .

    您可以像这样使用它们:

    /// <summary>
        /// Gets the exchange emails.
        /// </summary>
        /// <returns></returns>
        private IEnumerable<string> GetExchangeEmails()
        {
            return (from object property in Entry.Properties["proxyAddresses"] select property.ToString()).ToList();
        }
    

    希望这能回答你的问题 .

相关问题