DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
SMM:08-30
Sendmail Installation and Operation Guide
queue run, e.g., to bounce messages independent of their time in the queue.
Since these options are global, and since you cannot know a priori how long another host
outside your domain will be down, a five day timeout is recommended. This allows a recipient
to fix the problem even if it occurs at the beginning of a long weekend. RFC 1123 section
5.3.1.1 says that this parameter should be ``at least 4-5 days''.
The Timeout.queuewarn value can be piggybacked on the T option by indicating a time
after which a warning message should be sent; the two timeouts are separated by a slash. For
example, the line
OT5d/4h
causes email to fail after five days, but a warning message will be sent after four hours. This
should be large enough that the message will have been tried several times.
4.2. Forking During Queue Runs
By setting the ForkEachJob (Y) option, sendmail will fork before each individual message
while running the queue. This option was used with earlier releases to prevent sendmail from con-
suming large amounts of memory. It should no longer be necessary with sendmail 8.12. If the
ForkEachJob
option is not set, sendmail will keep track of hosts that are down during a queue run,
which can improve performance dramatically.
If the ForkEachJob option is set, sendmail cannot use connection caching.
4.3. Queue Priorities
Every message is assigned a priority when it is first instantiated, consisting of the message
size (in bytes) offset by the message class (which is determined from the Precedence: header) times
the "work class factor" and the number of recipients times the "work recipient factor." The priority
is used to order the queue. Higher numbers for the priority mean that the message will be processed
later when running the queue.
The message size is included so that large messages are penalized relative to small messages.
The message class allows users to send "high priority" messages by including a "Precedence:" field
in their message; the value of this field is looked up in the P lines of the configuration file. Since the
number of recipients affects the amount of load a message presents to the system, this is also
included into the priority.
The recipient and class factors can be set in the configuration file using the RecipientFactor
(y) and ClassFactor (z) options respectively. They default to 30000 (for the recipient factor) and
1800 (for the class factor). The initial priority is:
pri
=
msgsize
-
(class
×
ClassFactor)
+
(nrcpt
×
RecipientFactor)
(Remember, higher values for this parameter actually mean that the job will be treated with lower
priority.)
The priority of a job can also be adjusted each time it is processed (that is, each time an
attempt is made to deliver it) using the "work time factor," set by the RetryFactor (Z) option. This
is added to the priority, so it normally decreases the precedence of the job, on the grounds that jobs
that have failed many times will tend to fail again in the future. The RetryFactor option defaults to
90000.
4.4. Load Limiting
Sendmail can be asked to queue (but not deliver) mail if the system load average gets too high
using the QueueLA (x) option. When the load average exceeds the value of the QueueLA option,
the delivery mode is set to q (queue only) if the QueueFactor (q) option divided by the difference
in the current load average and the QueueLA option plus one is less than the priority of the message