This documentation is archived and is not being maintained.


Exchange Server 2003


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.

Writing a gateway in the Microsoft® Exchange 2000 Server environment is similar in many ways to writing a gateway for Exchange Server 5.5. The core tasks performed by a gateway – mapping addresses, translating messages, and delivering messages between two different e-mail systems – require some change to function calls, but are accomplished in essentially the same way as in earlier versions. The real changes to gateway creation relate to the new network-based architectures introduced with the Microsoft Windows® 2000 operating system and Exchange 2000 Server. The features of these architectures require a different approach to structuring gateway objects, services, and user interfaces.

The following sections provide an overview of new features that impact the way you create a gateway.

Active Directory

Unlike earlier versions of Exchange, Exchange 2000 Server does not use a separate Exchange Directory as its directory service. Instead, Exchange 2000 Server extends the schema, or set of structural definitions, of Microsoft Active Directory®. Active Directory is the centralized directory service of Windows 2000 that contains all network information.

Gateway developers should be aware of the following functional and structural changes associated with the migration of Exchange data to Active Directory:

  • Gateways still make MAPI calls to communicate with Exchange 2000 Server. However, they must make Active Directory® Service Interfaces (ADSI) calls to access information stored in Active Directory.
  • You must extend the schema of Active Directory to include the Gateway object and its attributes.
  • A User object in Active Directory stores all the information about a user, including mailbox data and security settings. In earlier versions of Exchange these items were accessed separately.
  • The address type associated with a new gateway can be added to a recipient policy object located in Active Directory. A Recipient Update Service (RUS) runs at intervals determined by the administrator. The RUS detects changes made to recipient policies and automatically generates correctly formatted e-mail addresses based on an address type. The RUS then adds these addresses to the ProxyAddress fields of all Exchange mail-enabled objects in Active Directory.

MMC Snap-Ins

In earlier versions of Exchange, new gateways were administered by property pages that were added to the Exchange Server Administrator by an extension dynamic-link library (DLL). In Exchange 2000 Server, the Administrator is replaced by the Exchange System Manager. The Exchange System Manager is composed of a set of Microsoft Management Console (MMC) snap-ins (DLLs) that you use to administer the application in nearly the same way.

In Exchange 2000 Server, the gateway property pages are added by building and registering MMC snap-ins to the Exchange System Manager.

The advantage of using MMC is that developers can create user interfaces that are consistent and are extensible throughout the system.

For more information, see MMC Snap-Ins.

Microsoft Exchange Routing Engine

In Exchange 2000 Server, the role of the routing engine has been expanded to include functions that were performed by the Gateway Address Routing Table (GWART) in earlier versions of Exchange. When a message needs to be routed to a gateway, the routing engine determines the appropriate gateway to use for that message, based on the address type of the recipient. When a new gateway object is instantiated, the associated address type must be set in its AddressSpace attribute. The routing engine will automatically detect the address type.

Installing the Exchange 2000 Sample Gateway describes the procedures required to install the Exchange 2000 Server Sample Gateway.