当 Outlook 连接到通用 IMAP 服务器时,是否有办法通过邮件 ID 在 Outlook 中进行搜索?或者,是否有办法在下载的 .pst 文件中搜索邮件 ID?我对此进行了大量搜索,但还没有找到仅使用 Outlook 而不使用 Exchange 进行此操作的方法。
答案1
您有三个选择:
仅在选定的文件夹中搜索。自定义当前文件夹视图或创建一个新视图,单击“过滤器”并转到其设置中的“SQL”选项卡。设置“直接编辑这些条件”检查并输入以下内容:
http://schemas.microsoft.com/mapi/proptag/0x1035001F = 'message-id-to-search'
这会将消息列表限制为具有“要搜索的消息 ID”消息 ID 的消息。
高级搜索。您需要为此创建一个 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
使用 Outlook 规则。我的意思是“在邮件标题中使用特定词语”规则。禁用它们并在需要复制找到的邮件或使用标志和/或类别标记它们时手动运行。每次运行之前,不要忘记编辑要搜索的邮件 ID!