如何在Outlook vsto中访问“收件人”自动完成的电子邮件地址?缓存的联系人

问题描述 投票:-1回答:1

https://i.stack.imgur.com/1ZuCQ.png

上图是电子邮件地址的“收件人”部分

c# vsto outlook-addin
1个回答
0
投票

自动完成(又名昵称)流作为隐藏(关联)消息存储在收件箱文件夹中,其消息类别为“ IPM.Configuration.Autocomplete”。您可以在OutlookSpy中看到数据:转到收件箱文件夹,单击OutlookSpy功能区上的IMAPIFolder按钮,转到“关联的内容”选项卡,找到带有PR_MESSAGE_CLASS ==“ IPM.Configuration.Autocomplete”的消息,选择PR_ROAMING_BINARYSTREAM属性以查看其内容。

您可以使用Outlook对象模型(MAPIFolder.GetStorage("IPM.Configuration.Autocomplete", OlStorageIdentifierType.olIdentifyByMessageClass)打开该消息,使用PropertyAccessor.GetProperty读取属性,然后解析它。请注意,无法使用PropertyAccessor打开大型自动完成流。

如果使用Redemption选项,它将自动完成显示为RDONicknames集合:

 set Session = CreateObject("Redemption.RDOSession")
 Session.MAPIOBJECT = Application.Session.MAPIOBJECT
 set Nicknames = Session.GetNicknames
 for each NickName in NickNames
     Debug.Print NickName.Name & " - " & NickName.SmtpAddress
 next
© www.soinside.com 2019 - 2024. All rights reserved.