【问题标题】:Display list of mails on the active explorer pane in outlook VSTO在 Outlook VSTO 的活动资源管理器窗格中显示邮件列表
【发布时间】:2018-11-11 19:02:57
【问题描述】:

我正在开发一个包含邮件项目列表的 Outlook 插件。我想要做的是在活动的资源管理器窗格中显示这些邮件项目。

基本上很多用户都会使用该插件。当用户 x 收到一封电子邮件时,他会将其放入自定义窗格中,然后该窗格将对邮件进行分类。 (我已经开发了邮件的拖放)。我目前正在将 .msg 保存在服务器上。

现在我想在资源管理器窗格中显示这些邮件的列表。假设我有一个 .msg 文件列表,我该如何让这些文件显示在活动的资源管理器窗格中。

我已经尝试过什么。

        OutlookInstance.MAPIFolder inbox = (OutlookInstance.MAPIFolder)application.ActiveExplorer().Session.GetDefaultFolder(OutlookInstance.OlDefaultFolders.olFolderInbox);
        OutlookInstance.MAPIFolder customFolder = null;
        customFolder = (OutlookInstance.MAPIFolder)inbox.Folders.Add("NEWFOLDER", OutlookInstance.OlDefaultFolders.olFolderInbox);
        inbox.Folders["NEWFOLDER"].Display();

所以上面创建了一个文件夹,然后我可以在其中添加邮件。但是,创建文件夹然后将邮件放在那里似乎有点多余。

还有其他方法吗?

【问题讨论】:

    标签: email outlook vsto


    【解决方案1】:

    您无法在资源管理器中显示电子邮件,除非它们存在于某个文件夹或搜索文件夹中。如果这些电子邮件仅以 .msg 文件的形式存在,那么您必须从它们的文件路径中打开它们并捕获新的 Inspector,以便您可以使用 MailItem.Move 在文件夹中创建副本(从技术上讲,它不是移动文件,而是移动 .SaveAs不相关)。另一种方法是使用 Redemption 的 RDOSession.GetMessageFromMsgFile 方法。

    导入这些电子邮件后,您可以使用 Explorer.AddToSelection 方法使这些电子邮件从可能存在于同一文件夹中的其他电子邮件中脱颖而出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-01
      • 2018-07-16
      • 2023-02-23
      • 2021-11-14
      • 1970-01-01
      • 2020-09-25
      • 1970-01-01
      • 2015-12-19
      相关资源
      最近更新 更多