Outlook 搜索文件夹显示主题为空的异常邮件项目

当你为 Outlook 2019、Outlook 2016、Outlook 2013 或 Outlook for Office 365 中的所有邮件创建搜索文件夹时,该文件夹可能包含主题为空的异常邮件项目。 如果将鼠标移到这些项邮件上,将显示以下信息:

在文件夹中:PersonMetadata

PersonMetadata 文件夹由 Outlook Customer Manager (OCM) 创建和使用。 尽管 OCM 服务在 2020 年 6 月被弃用,但 Outlook 仍使用此文件夹。 在"联系人"文件夹或"收件人缓存"文件夹("联系人"文件夹下的隐藏文件夹)中创建新项目时,相关项目将创建在 PersonMetadata 文件夹中。

PersonMetadata 文件夹通常对 Outlook 用户界面的其他部分隐藏。 但是,来自 PersonMetadata 文件夹的邮件项目可能包含在搜索文件夹中。 你可以通过这些项目的空主题行来标识这些项目。

PersonMetadata 文件夹和在该文件夹中创建的项将在将来从服务中删除。 同时,你可以使用以下任一解决方法来解决此问题。

解决办法 1

若要防止 PersonMetadata 文件夹中的邮件项目显示在搜索文件夹中,请按照以下步骤操作:

  1. 右键单击“搜索文件夹”,然后选择“自定义此搜索文件夹”
  2. 单击“浏览”,并取消选择“搜索子文件夹”选项。
  3. 手动选择要包含的文件夹。

解决办法 2

如果你收到"文件夹项目限制"通知,指出 PersonMetadata 文件夹已接近 100 万个项目的限制,请使用以下方法之一删除该文件夹中的所有项目。

文件夹项限制通知:

文件夹项限制通知的屏幕截图。

方法 1:在受影响的用户计算机上运行 MFCMAPI

如果只有少数用户遇到此问题,请使用此方法。 如果有许多受影响的用户,请使用方法 2

  1. 退出 Outlook。

  2. 下载 MFCMAPI 工具

  3. 启动 MfcMapi.exe,然后选择“确定”

  4. 在“工具”菜单上,选择"选项",指定以下选项,然后选择“确定”

    • 调用 OpenMsgStore 时使用 MDB_Online 标志
    • 调用 OpenEntry 时使用 MAPI_NO_CACHE 标志
  5. 在“会话”菜单上,选择“登录”

  6. 在“配置文件名”列表中,选择邮箱的配置文件,然后选择“确定”

  7. 双击相应的 Microsoft Exchange 邮件存储。 通常,这是具有默认存储 = True设置的条目。

  8. 在导航窗格中,展开根容器,展开信息存储顶部,然后选择 PersonMetadata

    注意

    “最上层的信息存储”节点的文本可以本地化为另一种语言,具体取决于邮箱的区域设置。

  9. 右键单击 PersonMetadata> 高级>,清空文件夹中的项目和子文件夹

  10. 在“删除项目和子文件夹”对话框中,选择“硬删除”,然后选择“确定”

请注意,MFCMAPI 在执行删除操作时可能会长时间停止响应。 你可以通过运行 Get-MailboxFolderStatistics cmdlet 来监视其进度。

方法 2:以管理员身份运行 EWS 脚本

此方法要求你配置服务帐户以模拟用户。 请参阅此文章,了解如何配置模拟。

  1. 在运行 EWS 脚本的计算机上,下载并安装 EWS 托管 API

  2. 下载 EWS 脚本

  3. 以管理员身份运行以下 cmdlet 以安装最新的 Exchange Online PowerShell 管理模块:

    Install-Module ExchangeOnlineManagement
    
  4. 运行以下 cmdlet 以清空唯一用户的 PersonMetadata 文件夹:

    .\CleanPersonMetadata.ps1 -Identity user@contoso.com
    

    该 cmdlet 会硬删除这些内容(项目不会移动到“已删除的项目”)。 如果要在提交删除之前模拟删除,请使用 -WhatIf 参数。

    若要针对多个用户运行脚本,请创建一个包含“标识”列以及这些用户的 SMTP 地址的 CSV 文件。 然后,运行以下 cmdlet:

    Import-CSV UserList.csv | .\CleanPersonMetadata.ps1 -Confirm:$false
    

    注意:如果收到错误,指出找不到模块,则需要更新脚本以匹配模块的文件路径。 脚本当前具有以下路径:

    Import-Module "C:\Program Files\WindowsPowerShell\Modules\ExchangeOnlineManagement\<module_version>\Microsoft.IdentityModel.Clients.ActiveDirectory.dll" -force

    在 #639 行更新脚本中的路径,如下所示:

    Import-Module "C:\Program Files\WindowsPowerShell\Modules\ExchangeOnlineManagement\<module_version>\netFramework\Microsoft.IdentityModel.Clients.ActiveDirectory.dll" -force

  5. 系统提示时,输入你为模拟配置的服务帐户的凭据。