Previous Section Next Section

CheckpointInterval

Checkpoint the queue V8.1 and later

When a single email message is sent to many recipients (those on a mailing list, for example), a single sendmail process handles all the recipients. Should that sendmail process die or be killed halfway through processing, there is no record that the first half was delivered. As a result, when the queue is later reprocessed, the recipients in that first half will receive the message a second time.

The FastSplit option (FastSplit) and this CheckpointInterval option can limit that duplication. The CheckpointInterval option tells sendmail to rewrite (checkpoint) its qf file (which contains the list of recipients, Section 11.2.5) after each group of a specified number of recipients has been delivered. Recipients who have already received mail are deleted from the list, and that list is rewritten to the qf file. The forms of the CheckpointInterval option are as follows:

O CheckpointInterval=num             configuration file (V8.7 and later) 
-OCheckpointInterval=num             command line (V8.7 and later) 
define(`confCHECKPOINT_INTERVAL','num')  mc configuration (V8.7 and later) 
OCnum                                configuration file (deprecated) 
-oCnum                               command line (deprecated) 

The num argument is of type numeric and specifies the number of recipients in each group. If num is entirely missing, is nonnumeric, or is zero, this feature is disabled. If the entire CheckpointInterval option is missing, the default is 10. There is a small performance penalty that increases as num approaches 1. A good starting value is 4, meaning that at most four people will get duplicate deliveries. Note that the F=m flag on local delivery will try as many recipients as possible before checkpointing, even if that number is greater than the value of this CheckpointInterval option.

The CheckpointInterval option is safe. Even if it is specified from the command line, sendmail retains its special privileges.

    Previous Section Next Section