在 Outlook 中按邮件 ID 搜索

在 Outlook 中按邮件 ID 搜索

当 Outlook 连接到通用 IMAP 服务器时,是否有办法通过邮件 ID 在 Outlook 中进行搜索?或者,是否有办法在下载的 .pst 文件中搜索邮件 ID?我对此进行了大量搜索,但还没有找到仅使用 Outlook 而不使用 Exchange 进行此操作的方法。

答案1

您有三个选择:

  1. 仅在选定的文件夹中搜索。自定义当前文件夹视图或创建一个新视图,单击“过滤器”并转到其设置中的“SQL”选项卡。设置“直接编辑这些条件”检查并输入以下内容:

    http://schemas.microsoft.com/mapi/proptag/0x1035001F = 'message-id-to-search'
    

    这会将消息列表限制为具有“要搜索的消息 ID”消息 ID 的消息。

  2. 高级搜索。您需要为此创建一个 VBA 宏。好消息是它只有两个函数。在 Outlook VBA 编辑器 ( ALT+ F11) 中,打开 Project1 -> Microsoft Outlook Objects -> ThisOutlookSession 并创建至少两个 Subs。类似于以下内容:

    Private Sub Application_AdvancedSearchComplete(ByVal SearchObject As Search)
        If SearchObject.Tag = "MessageId" Then
            Set Results = SearchObject.Results
            MsgBox "Message-ID search complete. " & Results.Count & " result(s) found."
            For i = 1 To Results.Count
                Results.Item(i).Display
            Next
        End If
    End Sub
    
    Public Sub SearchMessageId()
        Set Folder = Session.PickFolder
        If Not Folder Is Nothing Then
            r = MsgBox("Include subfolders?", vbYesNoCancel, "Search by Message-ID")
            If r <> vbCancel Then
                MessageId = InputBox("Message-ID:")
                If MessageId <> "" Then
                    Application.AdvancedSearch "'" & Folder.FolderPath & "'", "http://schemas.microsoft.com/mapi/proptag/0x1035001F = '" & MessageId & "'", r = vbYes, "MessageId"
                End If
            End If
        End If
    End Sub
    
  3. 使用 Outlook 规则。我的意思是“在邮件标题中使用特定词语”规则。禁用它们并在需要复制找到的邮件或使用标志和/或类别标记它们时手动运行。每次运行之前,不要忘记编辑要搜索的邮件 ID!

答案2

无法通过即时搜索或高级查找在 Outlook 中搜索邮件 ID。我能想到的办法就是使用 Outlook 规则中的“邮件标题中包含特定词语”。将“特定词语”替换为您要搜索的邮件 ID。也许可以通过将电子邮件复制/移动到特定文件夹来突出它。

在此处输入图片描述

相关内容