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


Сообщения отчетов MAPI

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

Сообщения отчета представляют сведения о состоянии сообщения отправителю.

Существует два общих типа сообщений отчета:

  • Чтение отчетов о состоянии.

  • Отчеты о состоянии доставки.

Чтение отчетов о состоянии

Отчеты о состоянии чтения инициируются поставщиками хранилища сообщений через вызов метода IMAPISupport::ReadReceipt и отправляются получателю, представленному идентификатором записи в свойстве PR_REPORT_ENTRYID (PidTagReportEntryId). Отчеты о состоянии чтения не создаются автоматически; клиентские приложения, которые хотят получить их, должны явно запрашивать их.

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

Непрочитаемый отчет указывает, что флаг чтения сообщения не установлен и сообщение не было открыто ни до помещения в папку "Удаленные", ни до истечения срока действия. Клиенты могут вызывать метод IMessage::SetReadFlag или IMAPIFolder::SetReadFlags , чтобы задать или очистить флаг чтения сообщения.

Отчеты о состоянии доставки

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

Отчеты о доставке отправляются только по запросу и не включают исходное сообщение. Отчеты о недоставке отправляются автоматически, если не подается запрос на их подавление. Отчеты о недоставке включают исходное сообщение в виде вложения, чтобы получатель отчета повторно отправить сообщение на случай, если то, что заблокировало доставку, больше не является проблемой. Присоединенное сообщение напоминает исходное сообщение, так как оно существовало при вызове метода IMessage::SubmitMessage для его первоначальной отправки.

Один или несколько отчетов о состоянии доставки создаются поставщиками транспорта при вызове метода IMAPISupport::StatusRecips . Поставщики транспорта составляют список получателей сообщения. Получает ли получатель отчет и тип создаваемого отчета, зависит от следующего:

  • Отчеты о доставке отправляются получателям, которые задают для свойства PR_ORIGINATOR_DELIVERY_REPORT_REQUESTED (PidTagOriginatorDeliveryReportRequested) значение TRUE, прежде чем сообщение было помещено в хранилище сообщений.

  • Отчеты о недоставке отправляются получателям, которые не задали для свойства PR_ORIGINATOR_NON_DELIVERY_REPORT_REQUESTED (PidTagOriginatorNonDeliveryReportRequested) значение FALSE.

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

Отчеты — это сообщения с отдельными классами сообщений, основанными на классе отправленного сообщения. Большинство поставщиков услуг используют соглашение об именовании, согласно которому класс сообщения состоит из нескольких частей, разделенных точками. Первая часть — "Отчет", а последняя — константа, представляющая тип отчета. Средняя часть зарезервирована для класса отправленного сообщения. Например, так как в отчете о доставке используется константная аварийное восстановление, класс сообщения для отчета о доставке о IPM. Примечание: Report.IPM.Note.DR.

В следующей таблице показаны константы, представляющие типы отчетов.

Тип отчета Константы, используемые в классе сообщений
Чтение
IPNRN
Непрочитанные
IPNNRN
Delivery
ДОКТОР
Недоставка
NDR

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

См. также

Сообщения MAPI