sendmail administration

Altering 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 (determined from the Precedence: header) multiplied by the ``work class factor'' and the number of recipients multiplied by the ``work recipient factor.'' The priority is used to order the queue. Higher numbers for the priority mean that the message is 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. Because the number of recipients affects the size of load a message presents to the system, this is also included in the priority.

The recipient and class factors can be set in the configuration file by using the RecipientFactor (y) and ClassFactor (z) options, respectively. They default to 30,000 (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 is 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 tend to fail again in the future. The RetryFactor option defaults to 90,000.

Next topic: Setting the mail load limit
Previous topic: Forking during queue runs

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003