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


Каноническое свойство PidTagMessageFlags

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

Содержит битовую маску флагов, указывающих на источник и текущее состояние сообщения.

Свойство Значение
Связанные свойства:
PR_MESSAGE_FLAGS
Идентификатор:
0x0E07
Тип данных:
PT_LONG
Область:
Общие сообщения

Замечания

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

Это свойство существует в сообщении до и после отправки, а также во всех копиях полученного сообщения. Хотя это свойство не является получателем, оно предоставляется каждому получателю по-разному в зависимости от того, был ли он прочитан или изменен этим получателем.

Для этого свойства можно задать один или несколько следующих флагов:

MSGFLAG_ASSOCIATED

Сообщение является связанным сообщением папки. Клиент или поставщик имеет доступ только для чтения к этому флагу. Флаг MSGFLAG_READ игнорируется для связанных сообщений, которые не сохраняют состояние чтения и непрочитания.

MSGFLAG_FROMME

Пользователь, отправляющий сообщения, был пользователем сообщений, получающим сообщение. Клиент или поставщик имеет доступ на чтение и запись к этому флагу до первого вызова IMAPIProp::SaveChanges и только для чтения после этого. Этот флаг должен быть установлен поставщиком транспорта.

MSGFLAG_HASATTACH

Сообщение содержит по крайней мере одно вложение. Этот флаг соответствует свойству PR_HASATTACH сообщения (PidTagHasAttachments). Клиент имеет доступ только для чтения к этому флагу.

MSGFLAG_NRN_PENDING

Для сообщения необходимо отправить непрочитанные отчеты. Клиент или поставщик имеет доступ только для чтения к этому флагу.

MSGFLAG_ORIGIN_INTERNET

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

MSGFLAG_ORIGIN_MISC_EXT

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

MSGFLAG_ORIGIN_X400

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

MSGFLAG_ORIGIN_EXT_SEND

Сообщение было получено за пределами организации. Клиент должен отобразить соответствующее сообщение для пользователя. Поставщики транспорта устанавливают этот флаг; клиент имеет доступ только для чтения.

MSGFLAG_READ

Сообщение помечается как прочитанное. Это может произойти в результате вызова IMessage::SetReadFlag или IMAPIFolder::SetReadFlags. Клиенты также могут задать этот флаг, вызвав метод IMAPIProp::SetProps сообщения перед первым сохранением сообщения. Этот флаг игнорируется, если установлен флаг MSGFLAG_ASSOCIATED .

MSGFLAG_RESEND

Сообщение содержит запрос на операцию повторной отправки с отчетом о недоставке. Клиент или поставщик имеет доступ на чтение и запись к этому флагу до первого вызова IMAPIProp::SaveChanges и только для чтения после этого.

MSGFLAG_RN_PENDING

Для сообщения необходимо отправить отчет о прочтении. Клиент или поставщик имеет доступ только для чтения к этому флагу.

MSGFLAG_SUBMIT

Сообщение помечено для отправки в результате вызова IMessage::SubmitMessage. Поставщики хранилища сообщений устанавливают этот флаг; клиент имеет доступ только для чтения.

MSGFLAG_UNMODIFIED

Исходящее сообщение не было изменено с момента первого сохранения; входящее сообщение не было изменено с момента его доставки.

MSGFLAG_UNSENT

Сообщение по-прежнему создается. Она сохранена, но не отправлена. Клиент или поставщик имеет доступ на чтение и запись к этому флагу до первого вызова IMAPIProp::SaveChanges и только для чтения после этого. Если клиент не устанавливает этот флаг к моменту отправки сообщения, поставщик хранилища сообщений устанавливает его при вызове IMessage::SubmitMessage . Как правило, этот флаг очищается после отправки сообщения.

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

Некоторые флаги всегда доступны только для чтения. Некоторые из них выполняются для чтения и записи до первого вызова метода IMAPIProp::SaveChanges , а затем становятся доступными только для чтения в отношении IMAPIProp::SetProps . Один из них, MSGFLAG_READ, можно изменить позже с помощью IMessage::SetReadFlag или IMAPIFolder::SetReadFlags.

Начальные значения этого свойства обычно MSGFLAG_UNSENT и MSGFLAG_UNMODIFIED для указания сообщения, которое еще не было отправлено или изменено. Когда сообщение сохраняется во второй раз, поставщик хранилища сообщений очищает флаг MSGFLAG_UNMODIFIED. Другое значение, которое поставщик хранилища сообщений может задать при сохранении сообщения, — это флаг MSGFLAG_HASATTACH, указывающий, что сообщение содержит одно или несколько вложений. Свойство PR_HASATTACH вычисляется из этого параметра.

Когда клиент вызывает метод IMessage::SubmitMessage для отправки сообщения, поставщик хранилища сообщений создает его копию для диспетчера spooler MAPI и обновляет это свойство, задавая флаг MSGFLAG_SUBMIT. Поставщик хранилища сообщений также задает MSGFLAG_UNSENT, если он еще не задан. MSGFLAG_SUBMIT указывает, что метод SubmitMessage был вызван, начинается процесс отправки и что сообщение теперь доступно только для чтения клиенту. MSGFLAG_UNSENT указывает, что диспетчер очереди MAPI обрабатывает сообщение. Если процесс отправки отменен, поставщик хранилища сообщений сбрасывает этот флаг.

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

Для входящего сообщения поставщик хранилища сообщений очищает флаг MSGFLAG_READ, чтобы сбросить состояние чтения. Клиент может задать или очистить флаг MSGFLAG_READ, если необходимо изменить состояние чтения и управлять отправкой отчетов считывания и непрочитанных отчетов, вызвав метод IMessage::SetReadFlag сообщения или метод IMAPIFolder::SetReadFlags своей папки. Разница main между этими методами, кроме объекта, реализующего их, заключается в том, что метод папки может влиять на одно, несколько или все сообщения в папке. Метод message влияет на одно сообщение.

Клиент также должен протестировать входящее сообщение на наличие флагов MSGFLAG_ORIGIN_X400, MSGFLAG_ORIGIN_INTERNET, MSGFLAG_ORIGIN_MISC_EXT и MSGFLAG_ORIGIN_EXT_SEND. Эти флаги задаются поставщиком входящего транспорта и указывают на то, что сообщение поступило из источника, который шлюз не может считать доверенным. Это означает, что сообщение было получено либо за пределами организации, либо с внутренней, но с рабочей станции, не известной шлюзу. В любом случае личность отправителя может не быть подтверждена, и существует риск внедрения компьютерного вируса в организацию. Клиент должен отобразить предупреждающее сообщение для пользователя и предложить возможность удаления сообщения, не открывая его.

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

Спецификации протокола

[MS-OXPROPS]

Содержит ссылки на связанные спецификации протоколов Exchange Server.

[MS-OXCMSG]

Обрабатывает объекты сообщений и вложений.

Файлы заголовков

Mapidefs.h

Предоставляет определения типов данных.

Mapitags.h

Содержит определения свойств, перечисленных как альтернативные имена.

См. также

IMsgStore::AbortSubmit

Свойства MAPI

Канонические свойства MAPI

Сопоставление имен канонических свойств с именами MAPI

Сопоставление имен MAPI с именами канонических свойств