Receivedstate Channel Option

State clause in Received: header field
Received: header fields can contain a "state" clause which indicates the type of processing a message is about to undergo; such state clauses were defined in RFC 6729 (Indicating Email Handling States in Trace Fields). The primary use for these clauses is to indicate when an operation is being undertaken that could cause a delivery delay, e.g., the message has been quarantined.

The  destination channel option controls the generation of state clauses. A single arugment is required which specifies the state name to insert into the Received: fields of messages enqueued to the corresponding channel. The default, when  is not specified, is not to insert any state clause.

State values are restricted by RFC 6729 to be a state keyword "token" (as defined in RFC 2045), several such keywords being already registered, optionally followed by a slash character and another  (unregistered) token as a detail label. Any token  must consist solely of US-ASCII characters not including space, control characters, or the so-called "tspecials" characters: tspecials := "(" / ")" / "&#x3c;" / "&#x3e;" / "@" / "," / ";" / ":" / "\" / &#x3c;"&#x3e;              "/" / "&#x5b;" / "&#x5d;" / "?" / "=" The initial set of registered state keywords is: ,  ,   ,  ,  ,  ,  ,  , and.

Appropriate usage with the MTA could include: msconfig&#x3e; show channel:&#x2a;.receivedstate role.channel:conversion = convert role.channel:defragment = convert/defragment role.channel:filter_discard = quarantine/sieve-discarded role.channel:reprocess = other role.channel:tcp_intranet = normal role.channel:tcp_local = outbound with use on the  channel,   channel,   channel, and    channel being particularly relevant to note message transitions/points where messages could be delayed.

See also:
 * Conversion channel
 * Defragmentation channel
 * filter_discard channel
 * Process and reprocess channels
 * Headers channel options
 * Channel options
 * receivedfor Option