C# 如何在C中从outlook获取EmailId#

C# 如何在C中从outlook获取EmailId#,c#,C#,我需要在我的C#应用程序中从outlook获取电子邮件ID以发送邮件。我有userId或FirstName和LastName。请给我推荐一个合适的方法 谢谢您是说您需要从用户计算机上本地存储的Outlook联系人获取信息,还是指从AD/Exchange获取信息?只需调用Ctrl+K功能并获取别名或Firstname lastname的电子邮件地址即可 public string GetEmaiId(string userId) { string email = s

我需要在我的C#应用程序中从outlook获取电子邮件ID以发送邮件。我有userId或FirstName和LastName。请给我推荐一个合适的方法


谢谢

您是说您需要从用户计算机上本地存储的Outlook联系人获取信息,还是指从AD/Exchange获取信息?只需调用Ctrl+K功能并获取别名或Firstname lastname的电子邮件地址即可
    public string GetEmaiId(string userId)
    {
        string email = string.Empty;
        DirectorySearcher objsearch = new DirectorySearcher();
        string strrootdse = objsearch.SearchRoot.Path;
        DirectoryEntry objdirentry = new DirectoryEntry(strrootdse);
        objsearch.Filter = "(& (cn=" + userId + ")(objectClass=user))";
        objsearch.SearchScope = System.DirectoryServices.SearchScope.Subtree;
        objsearch.PropertiesToLoad.Add("cn");
        objsearch.PropertyNamesOnly = true;
        objsearch.Sort.Direction = System.DirectoryServices.SortDirection.Ascending;
        objsearch.Sort.PropertyName = "cn";
        SearchResultCollection colresults = objsearch.FindAll();
        foreach (SearchResult objresult in colresults)
        {
            email = objresult.GetDirectoryEntry().Properties["mail"].Value.ToString();
        }
        objsearch.Dispose();
        return email;
    }