Share via


The Responsibility Attribute

The Responsibility Attribute

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.

In Microsoft® Exchange Server 5.5, the message transfer agent (MTA) was responsible for determining how to route messages. When a message passed through a gateway, the Responsibility attribute for each recipient of that message was set by the MTA in the message transfer envelope (MTE). When the gateway was required to deliver the message to a recipient, this attribute was set to TRUE. When the gateway needed to convey the original recipient list, but not deliver the message to recipients on non-destined routes, the attribute for those recipients was set to FALSE. Based on this attribute, recipients were referred to as Responsibility-TRUE or Responsibility-FALSE.

In Exchange 2000 Server, the following tasks are performed by the SMTP transport core:

  • Message retrieval from, and submission to, the mailbox store.
  • Message categorization.
  • Message routing.

The SMTP consists of a store driver, a categorizer, an advanced queuing component, and a routing engine component. The MTA behaves as a transport mechanism for gateways and connectors. Messages destined for recipients on foreign messaging systems are still routed to an MTA by the routing engine, and the MTA still creates an MTE. However, the Responsibility attribute for every recipient is set to TRUE, because the MTA now receives a copy of the message with only gateway-bound recipients attached.

The new routing methods are best illustrated with an example. Suppose that a native Exchange Server user sends a message to three recipients:

  • R1 is a local recipient on the same server as the sender.
  • R2 is an Exchange recipient on a server in the same routing group as the server of the sender. These servers are connected over SMTP.
  • R3 is a recipient on a foreign system.

The message is delivered as follows:

  • The sender originally submits the message to the Exchange Server mailbox store. The SMTP store driver constructs an IMailMsg object. This object includes a structure that contains a list of all intended message recipients.
  • The message is picked up by the categorizer. The categorizer resolves the addresses of all message recipients, and determines whether they are for local delivery or must pass through a connector.
  • For R1, the local recipient, the categorizer determines that the address is in the mailbox store. The local database is stamped on the message and it is sent to the local delivery queue. It is picked up by the store driver, which delivers a copy of the message to R1.
  • Because they cannot be delivered to the local mailbox store, the categorizer sends R2 and R3 addresses to the routing engine.
  • The routing engine determines that R2, the recipient in the same routing group, should be sent through the SMTP connector. It again stamps the message with the target mail store database and places the message in the SMTP queue for delivery to the appropriate Exchange server.
  • The routing engine also determines that it must send the message to R3 through a non-SMTP connector. The routing engine gathers connector information from Microsoft Active Directory®, and uses a link state algorithm to dynamically determine the best connector route for the message. The routing engine then sends a copy of the message to the MTS-IN queue of the MTA. The MTA constructs an MTE and delivers the message to the MTS-OUT mailbox for the gateway. The gateway picks up the message. Because R3 is marked as Responsibility-TRUE, the gateway delivers the message to R3.

Send us your feedback about the Microsoft Exchange Server 2003 SDK.

Build: June 2007 (2007.618.1)

© 2003-2006 Microsoft Corporation. All rights reserved. Terms of use.