Multiple, addrsperfile, single, single_sys Channel Options
Addresses per message copy (
The MTA allows multiple destination addresses to appear in each queued message copy. Some channel programs, however, may only be able to process messages with one recipient per copy, or with a limited number of recipients, or with a single destination system per message copy. For example, the SMTP client programs for TCP/IP channels only establish a connection to a single remote host in a given transaction, so only addresses to that host can be processed (this despite the fact that a single TCP/IP channel is typically used for all outbound Internet message traffic). Another example is that some SMTP servers may impose a limit on the number of recipients they can handle at one time, and they may not handle errors in this area at all gracefully.
The channel options
single_sys can be used to control how the MTA handles multiple addresses.
single means that a separate copy of the message should be created for each destination address on the channel.
single_sys creates a single copy of the message for each destination system (more precisely, each destination domain name) associated with a recipient address.
multiple creates a single copy of the message for the entire channel. Note that at least one copy of each message is created for each channel the message is queued to, regardless of the options used.
multiple is the default for all channels marked with the
nosmtp channel option. Channels marked with one of the
smtp* channel options default to
single_sys unless the
daemon option has been set. Prior to 7.0 channels marked with one of the LMTP options defaulted to
multiple, as of 7.0 they also default to
daemon has been set. (Actually, calling this the "default" is something of a misnomer - without
daemon SMTP and LMTP channels will be forced to
single_sys regardless of the channel setting. This is done to prevent delivery of messages to the wrong system and possibly to the wrong user.)
These options also affect the Job Controller's "sorting" and organization of messages on a channel. The
single_sys option causes the Job Controller to organize messages into separate internal lists based on destination domain. (And hence a command such as
imsimta qm messages will show messages sorted by destination host.)
addrsperfile channel option is used to put a limit on the maximum number of recipients that can be associated with a single message file in an MTA channel queue, thus limiting the number of recipients that will be processed in a single operation. This option requires a single integer argument specifying the maximum number of recipient addresses allowed in a message file; if this number is reached the MTA will automatically create additional message files to accomodate them.
Note that the default of
addrsperfile depends on the channel type. For most channel types,
addrsperfile defaults to effectively unlimited (2147483647), but setting an
smtp* option on a channel causes
addrsperfile to default to 99, while setting an
lmtp* option on a channel causes
addrsperfile to default to 999.
The default messages per channel copy setting varies by channel type. The
multiple option is the default for everything except
tcp_* channels default to
daemon is set, and
single_sys if it is not. The combination of an explicit
multiple and no
daemon isn't allowed on
tcp_* channels and will be overridden by forcing a setting of