When a message passes through a gateway, each recipient of that message has a Responsibility attribute that is set by the message transfer agent (MTA). When the gateway must deliver the message to a recipient, this attribute is set to TRUE. When the gateway needs to track the recipient but not deliver the message, the attribute is set to FALSE. Based on this attribute, recipients are referred to as Responsibility-TRUE or Responsibility-FALSE.
To illustrate how the Responsibility attribute is set, suppose that a native Microsoft Exchange Server user sends a message to three recipients:
R1 is a local recipient on the same server as the sender.
R2 is a Microsoft Exchange Server recipient on another site in the same organization, connected over X.400.
R3 is a recipient on a foreign system.
The following diagram illustrates this scenario.
Sending messages to several users
The message is delivered as follows:
The message is originally submitted by the sender to the Microsoft Exchange Server information store. The information store can deliver directly to a local recipient, so it delivers a copy of the message to R1. It sends another copy to the MTA. On this copy R1 is Responsibility-FALSE, and R2 and R3 are Responsibility-TRUE.
The MTA does not attempt to deliver to the local recipient because R1 is Responsibility-FALSE. The MTA looks in its routing tables and determines that it can deliver the message to R2 by sending the message to another MTA connected via X.400. For this message, R1 and R3 are Responsibility-FALSE and R2 is Responsibility-TRUE.
The gateway connected to the server also appears in the MTA’s routing table. The MTA routes another copy of the message to the gateway, with R1 and R2 set to Responsibility-FALSE, and R3 set to Responsibility-TRUE.