Streaming Channel Option

Protocol streaming
Some mail protocols support streaming operations. This means that the MTA can issue more than one operation at a time and wait for replies to each operation to arrive in batches. The  channel option controls the degree of protocol streaming used in the protocol associated with a channel. This option requires an integer argument; how the argument is interpreted is specific to the protocol in use.

Currently the MTA only supports the use of streaming on SMTP channels. Streaming is enabled automatically for the MTA&#x27;s SMTP client if the SMTP server to which the MTA has connected offers the pipelining extension and the streaming setting is nonnegative. The  option can be used to enable (force) streaming by the MTA&#x27;s SMTP client even when a remote SMTP server doesn&#x27;t offer the pipelining extension.

The streaming values available for SMTP range from -2 to 4. Negative values (new in 7.2-7.02) disables streaming completely; not even the remote SMTP server advertising pipelining can enable it. A value of 0 specifies no streaming, a value of 1 causes groups of RCPT TO commands to stream, a value of 2 causes MAIL FROM/RCPT TO to stream, a value  of 3 causes HELO/MAIL FROM/RCPT TO or RSET/MAIL FROM/RCPT TO streaming  to be used, and a value of 4 enables streaming all the way through DATA (equivalent to the remote server advertising pipelining). The default value is 0.

The SMTP server offers the pipelining extension by default. A streaming value of -2 (new in 7.2-7.02) can be used to disable pipelining announcment.

Some SMTP implementations are known to react badly to streaming. In particular, many versions of sendmail are known to be incapable of handling streaming levels greater than 1. The MTA&#x27;s server implementation of SMTP should work properly at any streaming level.

New in Messaging Server 7.0, MTA message transaction log entries will record whether PIPELINING was used by means of a "Q" modifier on the relevant "E" (Enqueue) and "D" (Dequeue) entries.

See also:
 * TCPIP channels
 * MTA transaction logging
 * SMTP and LMTP protocol channel options
 * Channel options