Platform SDK: Exchange Server

Handling Message Classes

A message’s message class tells a messaging application which properties a message contains, the type of information the message conveys, and how the message can be handled. Message classes are identified by the MAPI property PR_MESSAGE_CLASS on the message, and each message class has an associated set of properties. You can also create new message properties to meet your gateway’s requirements.

When Microsoft Exchange Server delivers a message to a gateway’s MTS-OUT folder, it encloses the message’s message class string in the message class string of the message transfer envelope (MTE). Gateways must always be able to handle the following message classes.

Message class Description
ENVELOPE.{Message Class} The MTE that contains the message. The standard message class enclosed in the MTE is IPM.NOTE.
REPORT.{Message Class}.NDR Nondelivery report.
REPORT.{Message Class}.DR Delivery report.
REPORT.{Message Class}.IPNRN Interpersonal note receipt notification.
REPORT.{Message Class}.IPNNRN Interpersonal note nonreceipt notification.

Handling a message class means being able to convert outgoing messages into an appropriate format when the foreign system has an analogous message class, and converting incoming messages to an appropriate MAPI message class. It also means being able to generate the various REPORT message classes when an incoming or outgoing message requires them.

The following figure shows an MTE and its embedded message. Note that the MTE recipient table contains the recipient address in Microsoft Exchange Server format, while the recipient table for the message contains it in SMTP format.

To deliver a report about an outgoing message

  1. The gateway creates the report message.
  2. The gateway places the report message in its MTS-IN folder.
  3. Microsoft Exchange Server delivers it to the recipient.

The details of delivering reports concerning inbound messages are clearly dependant on the foreign system’s requirements for reports.