【问题标题】:Microsoft Exchange / Active Directory properties for mails to be used to read a GAL用于读取 GAL 的邮件的 Microsoft Exchange/Active Directory 属性
【发布时间】:2014-07-24 10:36:16
【问题描述】:

我目前正在创建一个应用程序,该应用程序使用 Outlook 以及我公司中的 Exchange 服务器/活动目录来创建邮件(因此我已经在这里遇到了一些其他问题)。

我目前正在尝试读取 GAL,以便在通过我的应用程序发送邮件时使用它。从到目前为止我所看到的解决方案中,在我看来,我从活动目录读取邮件地址而不是连接到交换服务器的变体(我首先尝试了 Outlook,但除了只获取类型为“ EX”,因此它们存储在交换服务器上,我在那里没有得到太多信息)。

到目前为止,我所做的是获得对活动目录的访问权限并从那里读取所有用户

       DirectorySearcher objsearch = new DirectorySearcher();
        String strrootdse = objsearch.SearchRoot.Path;
        DirectoryEntry objdirentry = new DirectoryEntry(strrootdse);
        objsearch.Filter = "(& (mailnickname=*)(objectClass=user))";
        objsearch.SearchScope = System.DirectoryServices.SearchScope.Subtree;
        objsearch.PropertiesToLoad.Add("cn");
        objsearch.PropertiesToLoad.Add("mail");
        objsearch.PropertyNamesOnly = true;
        objsearch.Sort.Direction = System.DirectoryServices.SortDirection.Ascending;
        objsearch.Sort.PropertyName = "cn";
        SearchResultCollection colresults = objsearch.FindAll();
        List<String> arrGal = new List<String>();
        foreach (SearchResult objresult in colresults)
        {
            arrGal.Add(objresult.GetDirectoryEntry().Properties["cn"].Value + ": " + objresult.GetDirectoryEntry().Properties["mail"].Value);
            }

现在查看活动目录后,我看到还有代理,并且(至少在我的公司)“邮件”属性不一定是代理中列出的邮件地址之一。

于是我找到了这两个属性:msExchShadowProxyAddresses、proxyAddresses

从我到目前为止看到的样本来看,它们看起来是相同的,但即使搜索我也没有在网上找到任何东西。

因此,当我尝试从活动目录中获取 GAL 时,我的问题是我可以同时使用这两个属性(因此它们始终相同)还是应该只使用 ShadowProxy 属性,还是有什么我需要特别注意的有考虑吗?

【问题讨论】:

  • 您究竟为什么要尝试 AD 而不是 Outlook 对象模型。究竟什么是您无法使用 OOM 检索的?
  • 我首先尝试使用 Outlook 互操作功能。但无论我做了什么,我从来没有收到 GAL 中项目的邮件,而只有项目的“名称”以及来自交换服务器的信息(类型:“EX”)。如果我能够通过 Outlook 互操作获得邮件地址(包括代理邮件地址),但似乎不可能(因为其他人使用了类似的代码并且它起作用了,我猜这里的交换+AD 是如何配置的),我会非常喜欢它(我无法影响)是它无法从那个方向工作的原因。

标签: c# email active-directory outlook exchange-server


【解决方案1】:

您需要使用 AddressEntry.GetExchangeuser 方法。请参阅我对您其他帖子的回复。

【讨论】:

  • stackoverflow.com/questions/24926728/… 是使用 AD 的另一种选择 yes (一个非常好的工作,也是我将在那里再次使用 tnx 的那个)。尽管在当前的问题中,更多的是关于如果使用 AD 方式使用哪些属性是正确的。
猜你喜欢
  • 1970-01-01
  • 2014-02-24
  • 1970-01-01
  • 1970-01-01
  • 2011-01-28
  • 2011-08-02
  • 1970-01-01
  • 2011-12-23
  • 1970-01-01
相关资源
最近更新 更多