我使用以下代码将一些数据分配给给定 MailItem 的适当 ContactItem(发件人)。如果 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();
}
但这对我来说似乎效果不佳。下次我获得该 MailItem 的联系人时(请参阅以下代码),它返回 null。再次。然后再次。
Outlook.MailItem myItem = (Outlook.MailItem)this.OutlookItem;
Outlook.ContactItem currentContact = myItem.Sender.GetContact();
有什么不对?似乎新的 ContactItem 没有分配给发件人。