首页 文章

GAL从前景与交换中获得一个?

提问于
浏览
0

我正在编写一个outlook的界面,因此我正在尝试访问GAL . 我猜这个问题非常基本 . 我可以在GAL中获取地址列表,但它们中没有联系人项目 . 当我打印地址条目的类型时,我总是得到“EX”,我猜这代表交换 . 现在我的问题是:如果我想获取电子邮件而不是仅显示地址条目名称,我是否必须直接连接到交换服务器?或者我可以使用互操作Outlook方法吗?

下面是我用来从outlook获取gal的代码:

Microsoft.Office.Interop.Outlook.Application oApp = new Microsoft.Office.Interop.Outlook.Application();
            AddressList gal = oApp.Session.GetGlobalAddressList();
            foreach (AddressEntry entry in gal.AddressEntries)
            {
                String addString = entry.Name + ": ";
                if (entry.GetContact() != null)
                {
                    addString += entry.GetContact().FirstName + " " + entry.GetContact().LastName + ": " + entry.GetContact().Email1Address;
                    dataGlobal.Add("CONTACT: " + addString);

                }
                else
                {

                    addString += entry.Type;
                    dataGlobal.Add(addString);
                }
            }

1 回答

  • 0

    GetContact仅适用于您的一个“联系人”文件夹中的IPM.Note项(由ContactItem对象表示) .

    如果是EX条目,请使用AddressEntry.GetExchangeUser并使用ExchangeUser对象 .

    要读取PR_EMS_AB_PROXY_ADDRESSES,请使用AddressEntry.PropertyAccessor.GetProperty并传递相应的DASL名称 "http://schemas.microsoft.com/mapi/proptag/0x800F101F".

相关问题