【问题标题】:Creating a Search Folder and access to ReplyRecipients创建搜索文件夹并访问回复收件人
【发布时间】:2026-02-22 21:55:01
【问题描述】:

我正在尝试在 Outlook-2010 中创建一个搜索文件夹,代表与特定电子邮件地址有关的所有 MailItems。

即电子邮件地址设置为 SenderEmailAddress 或 Sender 或 Recipients 之一或 ReplyRecipients 之一的 MailItems。

据我所知,我无法使用 Application.AdvancedSearch 方法和 DASL 过滤器执行此操作,因为无法访问 Recipients 或 ReplyRecipients。

我尝试使用 Redemption Searches 对象设置限制:

Set Store = RDSessoin.Stores.DefaultStore
Set Searches = Store.Searches
Set Folder = Store.IPMRootFolder

Addr = "123@example.com" 'the email being searched

SQL = "(SenderEmailAddress LIKE '%" & Addr & "%') OR " & _
        "(Recipients LIKE '%" & Addr & "%')"

Set NewSearch = Searches.AddCustom(Addr, strSQL, Folder)

有效,但不包括回复收件人和发件人条件。

当我尝试将它们添加到限制中时

SQL = "(SenderEmailAddress LIKE '%" & Addr & "%') OR " & _
        "(Recipients LIKE '%" & Addr & "%') OR " & _
        "(ReplyRecipients LIKE '%" & Addr & "%') OR " & _
        "(Sender LIKE '%" & Addr & "%')"

出现“未知属性名称”错误。

正确的限制语法是什么?还有其他方法可以创建这样的搜索文件夹吗?

【问题讨论】:

    标签: vba email outlook outlook-redemption


    【解决方案1】:

    您不能使用ReplyRecipients,因为它是一个包含条目ID 的二进制属性(没有多大用处),但您可以使用ReplyRecipientNames 代替。

    【讨论】:

    • 但显示的姓名和电子邮件地址通常不一样...
    • 是的,但这是你能做的最好的。电子邮件地址(如果它是一次性 SMTP 条目 ID)仅在包含条目 ID 的二进制属性中可用。
    • 所以绝对没有办法在 Outlook 中创建我想要的搜索文件夹?
    • 正确。您将无法在 ReplyRecipients 上进行搜索