未知的Outlook MailItem EntryID

时间:2008-10-02 12:36:40

标签: c# .net visual-studio-2008 outlook add-in

我的Outlook加载项处理Inspector对象的NewInspector事件,以便显示邮件项的自定义表单。

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

有什么问题?

2 个答案:

答案 0 :(得分:3)

我们的想法是记住由加载项创建的MailItem的每个EntryID,以便以后可以区别对待。问题是Inspector打开的项目的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,可以在以后找到。

答案 1 :(得分:0)

以防万一,这对任何人都有帮助,我要做的就是在获取MailItem.Save()之前先调用EntryID。新创建的MailItem在保存之前没有任何EntryID(在我的情况下位于Drafts文件夹中。)