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

时间:2012-11-12 09:08:32

标签: outlook vsto contacts outlook-addin outlook-2010

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

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

例如,我尝试使用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集合为空。

1 个答案:

答案 0 :(得分:0)

您应该尝试使用MailItem.Recipients集合,其中包含将要或已经发送消息的地址(即To,CC,BCC )。您必须通过Recipient.AddressEntry检查GetContact以查看通讯录地址簿(CAB)中是否存在该地址,否则you will have to resolve it using ExchangeUser通过GetExchangeUser }。

AddressEntry.AddressEntryUserType会告诉您邮件中包含的收件人类型 - Exchange User or List, CAB, or basic SMTP address