使用VSTO从outlook获取地址

时间:2015-01-28 15:58:17

标签: c# outlook vsto

我正在尝试使用以下代码从Outlook获取与用户关联的地址,并且在某些计算机上似乎始终失败: -

  var application = CurrentAppointmentItem.Application;
            var session = application.Session;
            var organizer = CurrentAppointmentItem.GetOrganizer();
            var recipient = session.CreateRecipient(organizer.Name);
            var addressEntry = recipient.AddressEntry;
            var propertyAccessor = addressEntry.PropertyAccessor;
            var addressProperty = propertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x800F101E");

错误是: -

System.Runtime.InteropServices.COMException (0x80004005): The operation failed.
   at Microsoft.Office.Interop.Outlook.PropertyAccessorClass.GetProperty(String SchemaName)

具体来说,我想获取当前用户的SIP地址(不是SMTP地址),有没有人有任何想法?

额外信息:尽管在propertyAccessor.GetProperty()上有错误消息,但事实证明,在编码示例中,recipient.Resolve()对收件人失败。

1 个答案:

答案 0 :(得分:0)

PR_EMS_AB_PROXY_ADDRESSES仅适用于GAL地址条目。对于一次性SMTP地址条目,它不会出现。

究竟是什么以及为什么要做的?