Поделиться через


Классы сообщений MAPI

Область применения: Outlook 2013 | Outlook 2016

Каждое сообщение имеет свойство класса сообщений , PR_MESSAGE_CLASS (PidTagMessageClass), которое определяет тип, назначение или содержимое сообщения. PR_MESSAGE_CLASS является обязательным свойством для всех новых сообщений. Класс сообщения определяет форму, используемую для представления сообщения пользователю, и папку для размещения входящих сообщений.

Классы сообщений — это символьные строки с учетом регистра, содержащие символы ASCII от 32 до 127 и разделенные точками, но они не могут заканчиваться точкой. Каждая строка представляет уровень подклассов, и количество допустимых уровней не ограничено.

Например, большинство сообщений, отправляемых и получаемых клиентскими приложениями, относятся к классу сообщений IPM — широкой категории, которая описывает все межличностные сообщения (т. е. сообщения, которые должны быть прочитаны пользователем, а не программным способом компьютером). Поставщики хранилища сообщений более точно описывают сообщение IPM путем создания подкласса IPM . Подкласс IPM наследует свойства класса сообщений IPM . Подклассы класса IPM именуются путем объединения других строк символов с идентификатором IPM, например IPM. Примечание для описания сообщения заметки и IPM. Контакт для описания сообщения контакта.

Для обработки отображения сообщений IPM и управления ими клиенты могут использовать стандартную форму, которую предоставляет MAPI. Для обработки отображения новых классов сообщений и управления ими вы, как разработчик клиентского приложения, имеете два варианта:

  1. Новую форму можно создать с помощью набора интерфейсов формы, определенных MAPI, которые может использовать стандартный клиент.

  2. Вы можете написать собственный клиент, реализовав полное автономное приложение.

Хотя клиенты должны задать для свойства PR_MESSAGE_CLASS для каждого исходящего сообщения подкласс IPM или IPC, в конечном счете за его настройку несет поставщик хранилища сообщений. Таким образом, если клиент отправляет сообщение, не задавая его класс, поставщик хранилища сообщений присваивает ему соответствующее значение по умолчанию для соответствующего типа клиента. Класс сообщений по умолчанию для клиентов межличностных сообщений — IPM; Класс сообщений по умолчанию для клиентов межпроцессного взаимодействия — IPC.

Классы сообщений имеют ограничение длины в 255 символов. Однако классы сообщений не должны превышать 127 символов для поддержки классов сообщений, используемых в отчетах. Классы сообщений отчета основаны на классе исходного сообщения с двумя дополнениями: префиксом и суффиксом. Префикс REPORT указывает, что сообщение является отчетом, а суффикс указывает тип отчета: аварийное восстановление (отчет о доставке), NDR (отчет о недоставке), IPNRN (чтение отчета) или IPNNRN (непрочитанные отчеты). Обратите внимание, что эти ограничения по длине предоставляются в символах; На платформах, использующих двухбайтовый набор символов, фактическое число байтов может быть выше.

Поставщики хранилища сообщений должны возвращать MAPI_E_INVALID_PARAMETER из своих реализаций метода IMAPIProp::SetProps , когда клиент пытается назначить строку, которая превышает допустимое ограничение для их класса сообщений.

См. также

Сообщения MAPI