未知的Outlook MailItem EntryID

时间:2020-03-06 15:01:25  来源:igfitidea点击:

我的Outlook加载项处理Inspector对象的NewInspector事件,以显示邮件项目的自定义窗体。

我可以获取作为事件参数传递的Inspector对象的CurrentItem的EntryID。但是,问题在于当前邮件项目的EntryID短于它应该的长度,并且是未知的。我知道已创建的每个邮件项目的每个EntryID,并且我可以看到特定邮件项目的EntryID错误。

怎么了?

解决方案

想法是记住由外接程序创建的MailItem的每个EntryID,以便以后可以对它进行不同的处理。问题是检查员打开的项目的EntryID是短条目,而不是在记住的ID列表中,尽管应该如此。

我创建邮件项目的几行代码是:

item.Save();
item.Move(some_folder);
items_list.Add(item.EntryID);

文件夹" some_folder"位于外部非默认PST内,因此邮件项将获得新的EntryID。我将这些行更改为:

item.Save();
item = (Outlook.MailItem)item.Move(some_folder);
items_list.Add(item.EntryID);

现在,item具有一个新的EntryID,可以在以后找到。