This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release. Message translation is the process by which a gateway converts between the MAPI message format and the message format of the foreign system that the gateway serves. This translation is based on message class and is done for both incoming and outgoing messages.
Translation must be based on message class because different MAPI message classes support different sets of properties. This means that there cannot be one algorithm for converting a MAPI message into the message format of the foreign system. Similarly, if the message format of the foreign system supports its own concept of message classes, separate translation algorithms are necessary to handle the message classes defined in the foreign system. If the foreign system does not have a concept of message classes, you can choose a constant string for the gateway to use as the message class of incoming messages.
Gateways use a framework for message translation that is provided by Microsoft® Exchange Server. Gateways enter as many conversion dynamic-link libraries (DLLs) as they need into the Registry so that the appropriate translation program is called when the gateway needs to translate each incoming or outgoing message. When you develop your gateway, you must also provide these conversion DLLs. A conversion DLL is appropriate for a message if the message class string supported by the DLL is a proper prefix of the message class string of the message to be translated. If more than one DLL is applicable to a particular message, the one with the closest matching message class string is used.
There are two primary advantages of this approach over embedding translation code directly in your gateway. One is that you can change the translation code or add new translations without recompiling the gateway. The other is that conversion DLLs can be added or changed while a gateway is running.
The following topics provide more information about message translation and conversion DLLs: