Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Аннотация

Чтобы гарантировать согласованное использование настраиваемых свойств или полей, Microsoft Office Outlook 2003 с пакетом обновления 2 (SP2) и более поздних версий Outlook ограничивают некоторые способы внедрения настраиваемых свойств в хранилищах данных Outlook. Например, пользовательские свойства могут быть представлены определенными способами в файлах личных папок Outlook (PST).

ВВЕДЕНИЕ

В этой статье выполняется следующее:

  • Общие сведения о пользовательских свойствах.

  • Объясняется, как изменилось поведение пользовательских свойств в Outlook 2003 с пакетом обновления 2 (SP2) и в более поздних версиях Outlook.

  • Рассматриваются некоторые рекомендации по созданию новых свойств и некоторые методы, которые мы не рекомендуем.

Дополнительная информация

Сведения о пользовательских свойствах

Пользовательские свойства используются почтовыми программами, такими как Outlook, для добавления дополнительных сведений в сообщение. Как правило, эти дополнительные сведения используются программой электронной почты для определенной цели. Однако существуют и другие способы использования пользовательских свойств. Например, настраиваемые свойства можно добавить в сообщения или элементы, если вы используете настраиваемые формы Outlook и эти формы содержат настраиваемые поля. Пользовательские свойства часто используются для добавления дополнительных сведений в целях отслеживания. Пользовательские свойства также используются для добавления данных, которые пользователь не должен видеть. Пользовательское решение также может добавлять настраиваемые свойства к обычным элементам. Пользовательское решение программным способом добавляет настраиваемые свойства в сообщение или элемент без необходимости использования пользовательской формы.

Пользовательские свойства можно сохранять в формате MSG-файлов и OFT-файлов в Outlook. Кроме того, пользовательские свойства можно сохранять в сообщениях электронной почты, отправляемых через Интернет, если отправитель использует параметр Отправить с помощью форматированного текста Outlook . Этот параметр инкапсулирует раздел MAPI сообщения в формате TNEF, а затем TNEF декодируется при получении сообщения.

Отправитель может отправить сообщение электронной почты с пользовательскими свойствами в следующих сценариях:

  • Отправляется однократная настраиваемая форма. В разовых формах форма внедряется в сообщение. Форма не опубликована в другом месте. Дополнительные сведения о разовых формах см. в следующей статье:

    Сохранение формы с элементом (одноразовые формы)

  • Отправляется опубликованная настраиваемая форма. В этом случае пользовательская форма не отправляется, так как форма не внедрена в сообщение. Однако все пользовательские свойства, которые использовались в форме, по-прежнему включаются в сообщение.

Примечание Существует множество способов ссылки на пользовательские свойства в зависимости от контекста, в котором используются пользовательские свойства. В пользовательском интерфейсе Outlook, например в выборе полей, настраиваемые свойства называются определяемыми пользователем полями или пользовательскими полями. В библиотеке объектов Outlook пользовательские свойства могут называться свойствами пользователя или определяемыми пользователем свойствами после коллекции UserProperties. В MAPI настраиваемые поля называются именоваными свойствами. MAPI предоставляет возможности для выполнения следующих действий:

  • Назначение имен свойствам

  • Сопоставление имен с уникальными идентификаторами

  • Создание постоянного сопоставления

Дополнительные сведения о реализации именованных свойств в MAPI см. на следующем веб-сайте MSDN:

http://msdn2.microsoft.com/en-us/library/ms529055.aspx Примечание. В среде Exchange термин "хранилище", используемый в этой статье, относится к всему хранилищу почтовых ящиков (базе данных). Этот термин не относится к хранилищу почтовых ящиков отдельного пользователя. В организации может быть одна или несколько баз данных почтовых ящиков Exchange.

Изменения в поведении в Outlook

Реализация MAPI в Outlook была изменена, чтобы управлять созданием пользовательских свойств. Чтобы гарантировать согласованное использование пользовательских свойств, пользовательские свойства уже должны использоваться в организации или в клиенте Outlook. Как только используются или регистрируются пользовательские свойства, их можно свободно передавать другим клиентам Outlook или серверам, на которых выполняется Exchange Server. Пользовательские свойства также можно отправлять через Интернет.

Сообщения электронной почты обычно отправляются в формате MIME через Интернет. Когда Outlook получает сообщение электронной почты в Интернете, сообщение преобразуется в представление MAPI. Ниже приведены примеры протоколов электронной почты в Интернете.

  • ПОП

  • IMAP

  • HTTP (Outlook.com)

По умолчанию Outlook больше не позволяет интернет-почте создавать новые настраиваемые свойства. Только свойства, уже созданные в хранилище доставки почты по умолчанию, сохраняются для входящих сообщений электронной почты. Это изменение в основном влияет на сообщения, отправляемые в инкапсулированном формате TNEF (Winmail.dat), где отправитель использовал параметр Отправить с помощью форматированного текста Outlook . Однако это также влияет на интернет-сообщения, содержащие свойства заголовка X-message.

Примечание Сообщения, содержащие настраиваемые свойства, отправляемые в организации Exchange, не затрагиваются этими изменениями.

Пользовательские свойства также можно сохранить в MSG-файлах и в OFT-файлах. Если пользователь открывает MSG-файл с пользовательскими свойствами, эти настраиваемые свойства не сохраняются в хранилище по умолчанию при сохранении, пересылке сообщения и т. д. Как правило, oft-файлы используются для резервного копирования пользовательских форм Outlook. В файлах .oft новое поведение применяется ко всем типам элементов. Пользовательская форма не откроется. Вместо этого сообщение будет отображаться в форме по умолчанию для этого конкретного типа элемента.

Таким образом, это изменение в структуре может привести к возникновению двух вещей:

  • Outlook игнорирует несуществуемые настраиваемые свойства. Если пользовательское свойство не существует в хранилище доставки, свойство не будет создано, и его значение будет потеряно. Если пользовательское свойство уже существует в хранилище доставки, его значение сохраняется. Это изменение применяется к следующим:

    • Сообщения электронной почты в Интернете с TNEF и внедренные сообщения.

    • Сообщения S/MIME.

    • MSG-файлы при удалении MSG-файла в окно элемента Outlook, чтобы добавить файл в другой элемент. Это изменение также применяется к MSG-файлам при удалении MSG-файла в окно main Outlook, чтобы добавить файл в папку или в окне Microsoft Word при использовании Word в качестве редактора электронной почты.

    • MSG-файлы, которые пользователь дважды щелкает или щелкает правой кнопкой мыши, чтобы открыть.

  • Outlook игнорирует однократное определение формы. Если однократная форма указывает пользовательское свойство и это пользовательское свойство не существует в хранилище доставки, то однократная форма не отображается. Вместо этого пользователь увидит форму по умолчанию для этого типа элемента. Это изменение применяется к сообщениям электронной почты в Интернете, содержащим однократное определение формы, инкапсулированное в TNEF. Это изменение также применяется к OFT-файлам, которые пользователь дважды щелкает или щелкает правой кнопкой мыши, чтобы открыть.

Рекомендации и другие способы создания новых свойств

Существует множество способов проектирования и разработки пользовательских решений. Некоторые из этих подходов считаются рекомендациями. Другие подходы также могут работать, но мы не рекомендуем эти подходы по одной или нескольким причинам.

Рекомендация. Добавление настраиваемых полей программными средствами

Для программного добавления настраиваемых полей в элементы можно использовать различные API. Для этого используйте метод UserProperties.Add в библиотеке объектов Outlook ("Outlook.Application"). Следующий код иллюстрирует эту рекомендацию.

Set myProp = myItem.UserProperties.Add("MyPropName", olText)

Вы также можете использовать библиотеку объектов CDO ("MAPI. Сеанс") для добавления настраиваемых полей. Дополнительные сведения см. на следующей странице веб-узла MSDN:

http://msdn2.microsoft.com/en-us/library/ms527518.aspx Для разработчиков C++ расширенный MAPI может использоваться для добавления именованных свойств. Дополнительные сведения см. на следующей странице веб-узла MSDN:

http://msdn2.microsoft.com/en-us/library/ms529684.aspx

Рекомендация. Используйте опубликованные настраиваемые формы, содержащие настраиваемые поля

Outlook в значительной степени доверяет опубликованным пользовательским формам. Однако Outlook не доверяет неопубликованным или одноразовым формам. Сюда входят OFT-файлы. Поэтому при разработке настраиваемой формы настоятельно рекомендуется опубликовать настраиваемую форму. Следует разработать форму таким образом, чтобы она не стала разовой. До тех пор, пока форма опубликована, изменение в Outlook не повлияет на нее.
 
При публикации OFT-файла в другом хранилище хранилище по умолчанию позволяет создавать свойства в этом хранилище. Кроме того, при создании настраиваемой формы с настраиваемыми свойствами и публикации ее в соответствующей библиотеке форм или папке пользовательские свойства создаются в затронутых хранилищах.

Рекомендация: программное развертывание пользовательских форм

Если вы разрабатываете настраиваемую форму Outlook, которая будет использоваться другими пользователями, существует несколько подходов, которые можно использовать. Используемый подход зависит от нескольких факторов. К этим факторам относятся тип формы, кто будет использовать форму, где будет использоваться форма и т. д. Как правило, если настраиваемая форма будет использоваться многими пользователями, рекомендуется опубликовать форму в библиотеке организационных форм. Однако если это невозможно, может потребоваться опубликовать форму в общей папке или в личной библиотеке форм некоторых пользователей. Вы можете программно установить пользовательскую форму с помощью метода CreateItemFromTemplate в библиотеке объектов Outlook. Метод CreateItemFromTemplate используется для открытия OFT-файла, а затем публикации формы с помощью метода PublishForm. В этом случае изменения пользовательских свойств не влияют на файл .oft.

Не рекомендуется: развертывание или отправка OFT-файлов для открытия пользователями

Пользовательские формы Outlook можно сохранить как OFT-файлы. Эти формы могут содержать настраиваемые поля, изменения пользовательского интерфейса и пользовательский код microsoft Visual Basic Scripting Edition (VBScript) для добавления функциональных возможностей в форму. Хотя Outlook уже содержит функции, которые препятствуют запуску кода VBScript в OFT-файлах, Outlook теперь также ограничивает использование OFT-файлов. Если OFT-файл содержит настраиваемые свойства и пользователь ранее не использовал эти настраиваемые свойства, пользовательские свойства не находятся в хранилище пользователя по умолчанию. Outlook не будет отображать настраиваемую форму, когда пользователь дважды щелкает файл. Тем не менее, чтобы Outlook открыл пользовательскую форму, которая хранится в виде OFT-файла, щелкните Файл, нажмите кнопку Создать, а затем Выберите форму. Затем можно изменить расположение на Шаблоны пользователей в файловой системе, а затем нажать кнопку Обзор , чтобы открыть OFT-файл. Откроется форма, и вы можете сохранить пользовательские свойства в хранилище по умолчанию.

Не рекомендуется: используйте раздел реестра AllowNamedProps.

Некоторые организации могут иметь веские причины, чтобы некоторые настраиваемые свойства были доступны в организации. Если используется несколько хранилищ, может потребоваться добавить набор настраиваемых свойств во все хранилища. Таким образом, Outlook 2003 с пакетом обновления 2 (SP2) и более поздних версий поддерживают разделы реестра на стороне клиента, указывающие, какие пользовательские свойства можно создать. Чтобы указать, какие настраиваемые свойства следует включить, настраиваемые свойства определяются в следующем разделе реестра: HKEY_CURRENT_USER\Software\Microsoft\Office\<version>\Outlook\AllowedNamedProps\

Примечание. В этом разделе реестра <версия> является заполнителем для используемой версии Outlook. Для Outlook 2003 номер версии — 11.0. Для Outlook 2007 номер версии — 12.0. Номер версии будет увеличиваться в более поздних версиях Outlook.

Общая структура раздела реестра для записи в реестре:

> GUID <

> имени свойства <

"Kind" (dword)

"ID" (dword)
"Type" (dword). В структуре раздела реестра используются следующие заполнители:

  • <GUID>: содержит ИДЕНТИФИКАТОР GUID, указывающий набор свойств. Настраиваемые поля Или свойства Outlook, используемые в настраиваемой форме Outlook, имеют guid {00020329-0000-0000-C000-0000000000046}. В MAPI GUID называется PS_PULIC_STRINGS. Однако пользовательские программы MAPI могут иметь собственные идентификаторы GUID для пользовательских свойств.

  • <имя свойства>. Указывает имя свойства. Если свойство именуется строкой,> имя свойства <— это фактическое строковое имя свойства. Если свойство называется по идентификатору, значение этого раздела реестра игнорируется. Однако необходимо присвоить свойству уникальное имя, чтобы его можно было сохранить в реестре. Если для параметра Kind задано значение 1 или значение <> 0, имя свойства будет определяться именем раздела реестра. Если раздел Kind не равен 1, это имя раздела реестра будет игнорироваться.

  • "Kind" (dword): указывает, называется ли свойство идентификатором или строкой. Если значение равно 0, свойство будет называться по идентификатору. Имя является числовым значением, заданным идентификатором. Если значение равно 1, свойство будет называться строкой. Этот параметр является параметром по умолчанию, если "Kind" отсутствует.

  • "ID" (dword): содержит имя идентификатора свойства, именуемого по идентификатору. Эти сведения необходимы, если для ключа Kind задано значение 0. Если для параметра Kind задано значение 1, эти сведения игнорируются.

  • "Type" (dword): указывает тип свойства.

Этот раздел реестра является обязательным, но в настоящее время он не используется. В следующей таблице перечислены возможные значения этого раздела реестра в зависимости от типа MAPI.

Тип MAPI

Значение

Описание

PT_UNSPECIFIED

0

Зарезервировано для использования интерфейса (тип не важен для вызывающего объекта)

PT_NULL

1

Значение свойства NULL

PT_I2

2

16-разрядное значение со знаком

PT_LONG

3

32-разрядное значение со знаком

PT_R4

4

4-байтовая плавающая запятая

PT_DOUBLE

5

Двойная точка с плавающей запятой

PT_CURRENCY

6

Со знаком 64-разрядный int (decimal w/4 цифры справа от десятичного pt)

PT_APPTIME

7

Время приложения

PT_ERROR

10

Значение 32-разрядной ошибки

PT_BOOLEAN

11

16-битовое логическое значение (ненулевое значение true)

PT_OBJECT

13

Внедренный объект в свойство

PT_I8

20

8-байтовое целое число со знаком

PT_STRING8

30

8-разрядная строка, завершающаяся null

PT_UNICODE

31

Строка Юникода с завершением null

PT_SYSTIME

64

64-разрядное целое число FILETIME с числом периодов 100 нс с 1 января 1601 г.

PT_CLSID

72

OLE GUID

PT_BINARY

258

Неинтерпретированный (массив байтов с подсчетом)

PT_MV_UNSPECIFIED

4096

PT_MV_NULL

4097

PT_MV_I2

4098

PT_MV_LONG

4099

PT_MV_R4

4100

PT_MV_DOUBLE

4101

PT_MV_CURRENCY

4102

PT_MV_APPTIME

4103

PT_MV_ERROR

4106

PT_MV_BOOLEAN

4107

PT_MV_OBJECT

4109

PT_MV_I8

4116

PT_MV_STRING8

4126

PT_MV_UNICODE

4127

PT_MV_SYSTIME

4160

PT_MV_CLSID

4168

PT_MV_BINARY

4354

Ниже приведен пример задания свойства именованного по строке:

Имя: MyStringFieldName1

Тип: PT_LONG

[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\AllowedNamedProps\{00020329-0000-0000-C000-000000000046}\MyStringFieldName1] "Type"=dword:00000003
Ниже приведен пример задания свойства именованного по идентификатору.

Идентификатор: 0x0330

Тип: PT_LONG

[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\AllowedNamedProps\{00020329-0000-0000-C000-000000000046}\MyMAPIProp1] "Kind"=dword:00000000 "ID"=dword:00000330 "Type"=dword:00000003


В этих двух примерах реестр выглядит примерно так, как в редакторе реестра:


{00020329-0000-0000-C000-000000000046}
 

MyStringFieldName1

Тип = 3
MyStringFieldName2

Тип = 3
{00020329-0000-0000-C000-000000000046}

MyMAPIProp1

Тип = 0
ID = 330

Тип = 3
MyMAPIProp2

Тип = 0
Идентификатор = 331
Тип = 3

Не рекомендуется: повторно включите возможность создания свойств.

На клиентских компьютерах можно развернуть три раздела реестра, чтобы отключить блокировку пользовательских свойств и отменить изменения Outlook к его предыдущему поведению. Эти разделы реестра поддерживаются групповыми политиками. Следующие разделы реестра могут отменить изменения Outlook 2003 к его предыдущему поведению:

Примечание. Приведенные ниже разделы реестра не отменить изменения Outlook 2007 с предыдущим поведением.

  • AllowTNEFtoCreateProps (HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Options\Mail] "AllowTNEFtoCreateProps"=dword:00000000000): если значение равно 0, TNEF/MIME не может создавать новые пользовательские свойства, отличные от Outlook. Это значение является значением по умолчанию. Если значение равно 1, TNEF/MIME может создавать новые пользовательские свойства, отличные от Outlook.

  • AllowMSGFilestoCreateProps. Если значение равно 0, MSG-файлы и OFT-файлы не могут создавать новые пользовательские свойства, отличные от Outlook. Это значение является значением по умолчанию. Если значение равно 1, MSG-файлы и OFT-файлы могут создавать новые пользовательские свойства, отличные от Outlook.

  • DisallowTNEFPreservation. Чтобы упростить миграцию на это новое поведение, Outlook сохраняет исходный TNEF, когда пользовательские свойства не созданы. Исходный TNEF сохраняется в двоичном потоке сохраненного элемента. Outlook использует следующий тег свойства для сохранения потока:

    PR_TNEF_UNPROCESSED_PROPS PROG_TAG(PT_BINARY, 0x0e9C). HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Options\Mail] "DisallowTNEFPreservation"=dword:000000000
    Параметр реестра определяет, создает ли Outlook свойство PR_TNEF_UNPROCESSED_PROPS.

    Примечание. Свойство PR_TNEF_UNPROCESSED_PROPS удаляется из сообщения при внедрении сообщения в другое сообщение в виде вложения. Свойство PR_TNEF_UNPROCESSED_PROPS также удаляется при пересылке сообщения или ответе на него.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×