Мне нужна папка поиска Outlook, которая находит электронную почту путем поиска фактического адреса электронной почты отправителя или получателя.
Можно настроить папку поиска для поиска электронной почты на основе фактического адреса электронной почты отправителя (см. Ниже). Однако, это не представляется возможным , чтобы выставить фактический адрес электронной почты для полей Кому, Копия или СК. Объяснение почему можно найти в конце этого ответа.
Настройка папки поиска для поиска по фактическому адресу электронной почты отправителя
Примечание. Эти инструкции написаны для Office 2013, но решение должно работать как минимум для Outlook 2007 и более поздних версий.
Шаг А. Добавление настраиваемого поля «Фактический адрес отправителя» в Outlook с помощью формы
Эти шаги создают пользовательскую форму, которая добавляет новое поле в 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
Скопируйте FromEmailAddress.cfg
в папку форм Microsoft Office для определенного языка, расположенную по адресу:
C:\Program Files (x86)\Microsoft Office\OfficeXX\FORMS\<LanguageID>
<OfficeXX>
- это папка Office, включающая номер версии (например, Office15
для Office 2013).
<LanguageID>
- это ваш четырехзначный идентификатор языка (например, 1033
для английского).
Примечание. Административные права необходимы для сохранения файлов в этой папке.
Примечание: Office может быть установлен в C:\Program Files
если у вас 32-битная ОС или 64-битная версия Office на 64-битной ОС.
В Outlook на вкладке « Файл » ленты нажмите « Параметры».
- Нажмите Advanced на левой панели, затем в группе Developers нажмите Custom Forms ...
- В диалоговом окне « Параметры » нажмите « Управление формами ...»
- В диалоговом окне « Диспетчер форм » нажмите « Установить ...»
- Перейдите в папку, в которой вы сохранили файл
FromEmailAddress.cfg
, выберите его и нажмите « Открыть».
- Нажмите кнопку ОК в окне Свойства формы , которая открывается, а затем Закрыть, а затем кнопку OK дважды , чтобы закрыть окно Outlook.
Добавьте к этой статье о stickstick.com информацию о том, как представить действительный адрес электронной почты отправителя в качестве поля.
Шаг Б. Использование настраиваемого поля "С адреса электронной почты" в критериях папки поиска
Эти шаги используют недавно созданное поле в качестве критерия для папки поиска:
- На вкладке « Дополнительно » диалогового окна « Критерии папки поиска » щелкните раскрывающийся список « Поле», затем нажмите « Формы».
- На левой панели выберите « С адреса электронной почты», нажмите « Добавить» -> « Закрыть».
- Снова щелкните раскрывающееся поле « Поле», выберите « От адреса электронной почты», затем нажмите « От адреса электронной почты» во всплывающем меню.
- Укажите необходимое условие и значение, затем нажмите « Добавить в список», затем нажмите « ОК», чтобы закрыть диалоговое окно.
Фактические адреса электронной почты To, Cc и Bcc не могут использоваться в качестве критериев для папок поиска ...
Тщательный поиск других предопределенных полей Outlook, полей MAPI, доступных через объектную модель Outlook, и обзор свойств, предоставляемых OutlookSpy, показывают, что нет полей, которые отображают эти адреса электронной почты в виде текста. Существует свойство PR_MESSAGE_RECIPIENTS, но, к сожалению, это объект, который содержит каждого получателя как отдельный элемент. Доступ по умолчанию (с использованием метода Custom Form выше) ничего не возвращает.
...С одним почти бесполезным исключением
Используя VBA из этой статьи на stickstick.com, я смог добавить поле, определяемое пользователем (UDF), к сообщениям, которые содержали одну строку с адресами электронной почты получателя в формате john@example.com, jane@example.com
. Однако при выборе пользовательской функции в списке полей расширенных критериев папки поиска доступны только пользовательские функции, определенные в папке «Входящие»:
Если сообщения с заполненными пользовательскими полями существуют в папке «Входящие», они будут найдены в папке поиска. Однако такие сообщения, расположенные в других папках, не включаются в результаты. Если ваша папка поиска не заинтересована только в папке «Входящие», это довольно бесполезно.
Причины, по которым UDF не работают в критериях папки поиска, описаны здесь, здесь и здесь.
Предопределенные поля остаются "лучшим" решением
Когда дело доходит до полей To:, Cc: и Bcc:, все же лучше использовать предварительно определенные поля в критериях вашей папки поиска и надеяться, что фактический адрес электронной почты является частью отображаемого имени (которое часто ).