Outlook加载项/VSTO-对于给定计数,StoreID始终相同,无论子文件夹如何

本文关键字:文件夹 StoreID VSTO- Outlook 加载项 | 更新日期: 2023-09-27 17:59:41

c#新手

我继承了一个用于outlook的c#vsto加载项,在代码中有一个按entryid搜索邮件项的方法。我们还传递一个NULL或一个特定的文件夹来搜索邮件项目。

注意:对于此插件,在生产服务器上,outlook邮件客户端可以访问其他几个电子邮件帐户,而不仅仅是运行outlook的用户。。

如果我们将foldertype的NULL传递给静态Outlook。MailItem FindMailitemByClientandEntryID(int argClientID,string argEntryID,string folderType)

我们构建了一个文件夹阵列来循环通过

        if (folderType == null)
        {
            theFolderTypes = new string[] {"ToBePrinted", "ClaimsCompleted", "Automated", "AutomatedPendingPrelog", "AutomatedPendingSplit", "AutomatedRejected" };
        }
        else
        {
            theFolderTypes = new string[1];
            theFolderTypes[0] = folderType;
        }

然后我们循环遍历数组中的每个文件夹名称,获取文件夹路径和StoreID,然后尝试使用GetItemFromID 查找邮件项

我们记录了几乎所有的内容,包括查找storeid的结果,并发现无论子文件夹是什么(对于特定的客户端),storeid都是相同的。

这正常吗?

我希望为每个子文件夹获得不同的值收件箱文件控制自动化待打印索赔完成

这可能就是为什么最初的程序员把第二行注释掉的原因,因为它无关紧要。

theItem = Globals.ThisAddIn.Application.Session.GetItemFromID(argEntryID, null);
//theItem = Globals.ThisAddIn.Application.Session.GetItemFromID(argEntryID, theClientStoreID);

提前感谢Chris

Outlook加载项/VSTO-对于给定计数,StoreID始终相同,无论子文件夹如何

是的,一个消息存储的所有文件夹的StoreId都是相同的。

每个文件夹都有一个名为folder的ID字段。StoreID,其值对于特定消息存储中的所有文件夹都是相同的。每个文件夹也有一个唯一的条目ID字段。源

如果我没记错的话,邮件存储就是邮箱或者PST文件。