Outlook 加载项:创建新的 ContactItem
本文关键字:ContactItem 创建 加载项 Outlook | 更新日期: 2023-09-27 18:30:55
我使用以下代码将一些数据分配给给定邮件项目的适当联系人(发件人)。如果 Sender.GetContact() 返回 null,我正在尝试创建一个新的 ContactItem。
Outlook.MailItem myItem = (Outlook.MailItem)this.OutlookItem;
Outlook.ContactItem currentContact = myItem.Sender.GetContact();
if (currentContact != null)
{
currentContact.Body = "Example";
currentContact.Save();
}
else
{
currentContact = Globals.ThisAddIn.Application.CreateItem(Outlook.OlItemType.olContactItem) as Outlook.ContactItem;
currentContact.Email1DisplayName = myItem.SenderName;
currentContact.Email1Address = myItem.SenderEmailAddress;
currentContact.Email1AddressType = myItem.SenderEmailType;
currentContact.Body = "Example";
currentContact.Save();
}
但这对我来说似乎并不好。下次我获得该邮件项目的联系人时(请参阅以下代码),它将返回 null。再。再说一遍。
Outlook.MailItem myItem = (Outlook.MailItem)this.OutlookItem;
Outlook.ContactItem currentContact = myItem.Sender.GetContact();
有什么问题吗?似乎新的联系人项目没有分配给发件人。
仅当传出邮件(不适用于传入)将联系人显式添加为收件人时,GetContact 才会返回 ContactItem 对象。
GetContact 不会检查您是否碰巧有具有相同电子邮件地址的联系项目。
如果需要查找匹配的联系人,请在"联系人"文件夹中显式使用 MAPIFolder.Items.Find。