Outlook加载项:从邮件获取联系人

Outlook加载项:从邮件获取联系人,outlook,vsto,contacts,outlook-addin,outlook-2010,Outlook,Vsto,Contacts,Outlook Addin,Outlook 2010,我正在为outlook 2010做一些插件开发,我正在尝试获取与电子邮件关联的ContactItems(MailItem)。我认为MailItem.Links集合应该返回我想要的内容,但它是空的。也许我走错了路,但我现在没有主意了 我有一个Outlook.MailItem,我想获得相关的Outlook.ContactItem。当您使用outlook打开邮件并将鼠标悬停在邮件地址上方时,会出现一个联系人弹出窗口,因此该链接必须位于邮件项目中的某个位置,但我不知道在哪里 例如,我尝试使用MailIt

我正在为outlook 2010做一些插件开发,我正在尝试获取与电子邮件关联的
ContactItems
MailItem
)。我认为
MailItem.Links
集合应该返回我想要的内容,但它是空的。也许我走错了路,但我现在没有主意了

我有一个
Outlook.MailItem
,我想获得相关的
Outlook.ContactItem
。当您使用outlook打开邮件并将鼠标悬停在邮件地址上方时,会出现一个联系人弹出窗口,因此该链接必须位于
邮件项目
中的某个位置,但我不知道在哪里

例如,我尝试使用
MailItem.Links
集合,该集合在工具提示中表示该项链接到的联系人

Explorer explorer = application.ActiveWindow() as Explorer;
MailItem mail = explorer.Selection as MailItem;

foreach (Link l in mail.Links)
{
    System.Diagnostics.Debug.WriteLine("Link: " + l.Name);
}
到目前为止,
MailItem
是正确的,我可以用它做任何我想做的事情,但是
MailItem.Links
集合为空

您应该尝试使用包含邮件将要或已经发送到的地址的集合(即收件人、抄送、密件抄送)。您必须检查以查看联系人通讯簿(CAB)via中是否存在该地址,否则为via


将告诉您邮件中包含的收件人类型-

Exchange不是一个选项,因为outlook中并非每个联系人都必须在Exchange中。到目前为止,我得到了一个不同的解决方案,它运行得又快又好。除此之外,我真的不喜欢我的问题和标签被编辑。