I s*_*ica 9 microsoft-outlook search search-folder
我需要一个 Outlook 搜索文件夹,它通过搜索发件人或收件人的实际电子邮件地址来查找电子邮件。例如,如果我想查找域example.com 中发件人的所有邮件,我使用搜索条件From... @example.com:
但是搜索只返回@example.com
出现在发件人显示名称中的消息(例如发件人:John Doe <john@example.com>)。如果姓名不包含他们的电子邮件地址,则该电子邮件不会出现在搜索结果中。
如何根据实际收件人/发件人/抄送电子邮件地址搜索电子邮件,即使显示名称中不存在该地址?
我试过的:
我需要一个 Outlook 搜索文件夹,它通过搜索发件人或收件人的实际电子邮件地址来查找电子邮件。
可以配置搜索文件夹以根据发件人的实际电子邮件地址查找电子邮件(见下文)。然而,这是不是可能暴露实际的电子邮件地址,抄送,或密件抄送字段。可以在此答案的末尾找到原因的解释。
注意: 这些说明是为 Office 2013 编写的,但该解决方案至少应适用于 Outlook 2007 及更高版本。
这些步骤创建了一个自定义表单,该表单使用发件人的实际电子邮件地址向 Outlook 添加一个新字段:
使用文件名保存以下自定义 Outlook 表单配置FromEmailAddress.cfg
:
[Description]
MessageClass=IPM.Note
CLSID={00020D31-0000-0000-C000-000000000046}
DisplayName=From Email Address
Category=Standard
Subcategory=Form
Comment=This forms is used to expose a sender's actual email address.
LargeIcon=notel.ico
SmallIcon=notes.ico
VersionMajor=1
VersionMinor=0
Locale=enu
Hidden=1
Owner=Microsoft
[Platforms]
Platform2=NTx86
Platform9=Chicago
[Platform.NTx86]
CPU=ix86
OSVersion=WinNT3.5
[Platform.Chicago]
CPU=ix86
OSVersion=Win95
[Properties]
Property01=FromEmailAddress
[Property.FromEmailAddress]
;PropTag=PR_SENDER_EMAIL_ADDRESS, 0x0C1F001E
Type=30 ; 001E = 30 in decimal
NmidInteger=0xc1f ; 0C1F
DisplayName=From E-mail Address
[Verbs]
Verb1=1
[Verb.1]
DisplayName=&Open
Code=0
Flags=0
Attribs=2
[Extensions]
Extensions1=1
[Extension.1]
Type=30
NmidPropset={00020D0C-0000-0000-C000-000000000046}
NmidInteger=1
Value=1000000000000000
Run Code Online (Sandbox Code Playgroud)将 复制FromEmailAddress.cfg
到您的特定语言 Microsoft Office 的 Forms 文件夹,位于:
C:\Program Files (x86)\Microsoft Office\OfficeXX\FORMS\<LanguageID>
<OfficeXX>
是包含版本号的 Office 文件夹(例如Office15
Office 2013)<LanguageID>
是您的 4 位语言 ID(例如1033
英语)。
注意: 将文件保存到此文件夹需要管理权限。
注意:C:\Program Files
如果您有 32 位操作系统或 64 位操作系统上的 64 位版本的 Office ,则可能会安装Office。
在 Outlook 中,在功能区的“文件”选项卡上单击“选项”。
FromEmailAddress.cfg
文件的文件夹,选择它,然后单击打开。有关如何将发件人的实际电子邮件地址公开为字段的信息,请参阅此slipstick.com 文章。
这些步骤利用新创建的字段作为搜索文件夹的条件:
彻底搜索 Outlook 的其他预定义字段、可通过 Outlook 的对象模型使用的MAPI 字段,以及对OutlookSpy公开的属性的审查显示,没有将这些电子邮件地址公开为文本的字段。有PR_MESSAGE_RECIPIENTS属性,但不幸的是,这是一个包含每个收件人作为单独项目的对象。本机访问(使用上面的自定义表单方法)不返回任何内容。
使用此slipstick.com 文章中的VBA,我能够将用户定义字段(UDF) 添加到包含单个字符串的消息中,该字符串包含格式为 的收件人电子邮件地址john@example.com, jane@example.com
。但是,在搜索文件夹高级条件的字段列表中选择 UDF 时,只有收件箱中定义的 UDF 可用:
如果收件箱中存在填充了自定义字段的邮件,则搜索文件夹会找到它们。但是,位于其他文件夹中的此类消息不包含在结果中。除非您的搜索文件夹只对收件箱感兴趣,否则这是毫无用处的。
此处、此处和此处记录了UDF 在搜索文件夹标准中不起作用的原因。
当涉及到收件人:、抄送:和密件抄送:字段时,仍然最好使用搜索文件夹条件中的预定义字段,并希望实际的电子邮件地址是显示名称的一部分(通常是)。
归档时间: |
|
查看次数: |
9309 次 |
最近记录: |