This section describes keywords that allow you to control disk resources by specifying file creation in the MTA queue. It consists of the following sections:
The MTA allows multiple destination addresses to appear in each queued message. Some channel programs may only be able to process messages with one recipient, or with a limited number of recipients, or with a single destination system per message copy. For example, the SMTP channels master program establishes a connection only 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 channel is typically used for all SMTP 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 be able to handle this type of error.
The keywords multiple, addrsperfile, single, and single_sys can be used to control how multiple addresses are handled. The keyword single means that a separate copy of the message should be created for each destination address on the channel. Use of single on tcp_* channels is not recommended because it changes the way the job controller manages traffic and is not appropriate for normal SMTP scenarios. The keyword single_sys creates a single copy of the message for each destination system used. The keyword multiple, the default, creates a single copy of the message for the entire channel.
At least one copy of each message is created for each channel the message is queued to, regardless of the keywords used.
The addrsperfile keyword is used to put a limit on the maximum number of recipients that can be associated with a single message file in a channel queue, thus limiting the number of recipients that are processed in a single operation. This keyword requires a single-integer argument specifying the maximum number of recipient addresses allowed in a message file; if this number is reached, the MTA automatically creates additional message files to accommodate them. (The default multiple keyword corresponds in general to imposing no limit on the number of recipients in a message file, however the SMTP channel defaults to 99.)
By default, all messages queued to a channel are stored as files in the directory msg_svr_base/queue/channel-name, where channel-name is the name of the channel. However, a channel that handles a large number of messages and tends to build up a large store of message files waiting for processing, for example, a TCP/IP channel, may get better performance out of the file system if those message files are spread across a number of subdirectories. The subdirs channel keyword provides this capability: it should be followed by an integer that specifies the number of subdirectories across which to spread messages for the channel, for example:
tcp_local single_sys smtp subdirs 10
Four new channel keywords provide the ability to cause the SMTP server to disconnect from the client after some number of errors have been detected:
disconnectrecipientlimit - Limits the number of session recipients.
disconnectrejectlimit - Limits the number of rejected recipients.
disconnecttransactionlimit - Limits the number of transactions.
disconnectbadcommandlimit - Limits the number of bad commands.
These are all session limits. With the exception of disconnectbadcommandlimit, all of these limits are checked when a MAIL FROM or RSET command is issued. If any of them have been exceeded, the server will issue a 4xy error and disconnect. The bad command limit differs only in being checked when a bad command is issued.