我正在为Outlook 2007创建一个加载项,该加载项处理NewMailEx
事件并提供StoreID
文件夹的MAPI
和EntryID
收到的电子邮件应用了所有Outlook规则后,该文件夹。加载项将使用GetItemFromId()
System.NameSpace class
方法跟踪电子邮件。我尝试使用mailitem的唯一PR_SEARCH_KEY
进行搜索,但是花费了太多时间不必要地扫描所有文件夹和子文件夹。我需要一种方法来记住电子邮件,而不是再次搜索。
答案 0 :(得分:0)
处理NewMailEx时,您将获得包含逗号分隔字符串的EntryIDCollection。这些看起来像GUIDS。您需要将该字符串保存在某处(或者只是您要保存的ID),然后您可以使用
获取该项目Outlook.MailItem mi = thisAddIn.Application.Session.GetItemFromID(id, Type.Missing) as Outlook.MailItem
其中ID是您想要的项目的单个ID。您必须为收藏中的每个项目调用一次。在应用规则之后,它在最终的位置并不重要。 ID将始终相同。
@rotard要获取联系人文件夹,只需使用
public string GetFolderFullName(Outlook.ContactItem ci)
{
Outlook.MAPIFolder mf = ci.Parent;
string path = mf.FolderPath;
return path;
}