Previous   Next   Contents       (Exim 4.00 Specification)

24. Address batching in local transports

The only remote transport (smtp) is normally configured to handle more than one address at a time, so that when several addresses are routed to the same remote host, just one copy of the message is sent. Local transports, however, normally handle one address at a time. That is, a separate instance of the transport is run for each address that is routed to the transport. A separate copy of the message is delivered each time.

In special cases, it may be desirable to handle several addresses at once in a local transport, for example:

These three transports (appendfile, lmtp, and pipe) all have the same options for controlling multiple (``batched'') deliveries, namely batch_max and batch_id. To save repeating the information for each transport, these options are described here.

The batch_max option specifies the maximum number of addresses that can be delivered together in a single run of the transport. Its default value is one. When more than one address is routed to a transport that has a batch_max value greater than one, the addresses are delivered in a batch (that is, in a single run of the transport), subject to certain conditions:

If the generic envelope_to_add option is set for the transport, the Envelope-to: header that is added to the message contains all the addresses that are batched together.

The appendfile and pipe tranports have an option called use_bsmtp, which causes them to deliver the message in ``batched SMTP'' format, with the envelope represented as SMTP commands. The check_string and escape_string options are forced to the values

  check_string = "."
  escape_string = ".."

when batched SMTP is in use. A full description of the batch SMTP mechanism is given in section 42.8. The lmtp transport does not have a use_bsmtp option, because it always delivers using the SMTP protocol.


Previous  Next  Contents       (Exim 4.00 Specification)