POSTSUPER(1) | POSTSUPER(1) |
By default, postsuper(1) performs the operations requested with the -s and -p command-line options on all Postfix queue directories - this includes the incoming, active and deferred directories with mail files and the bounce, defer, trace and flush directories with log files.
Options:
-c config_dir | The main.cf configuration file is in the named directory instead of the default configuration directory. See also the MAIL_CONFIG environment setting below. |
-d queue_id |
Delete one message with the named queue ID from the named mail queue(s) (default: hold, incoming, active and deferred). If a queue_id of - is specified, the program reads queue IDs from standard input. For example, to delete all mail with exactly one recipient user@example.com: mailq | tail +2 | grep -v '^ *(' | awk ́BEGIN { RS = "" } # $7=sender, $8=recipient1, $9=recipient2 { if ($8 == "user@example.com" && $9 == "") print $1 } ́ | tr -d '*!' | postsuper -d - |
1) | The Postfix queue manager deletes the message that postsuper(1) is asked to delete, because Postfix is finished with the message (it is delivered, or it is returned to the sender). |
2) | New mail arrives, and the new message is given the same queue ID as the message that postsuper(1) is supposed to delete. The probability for reusing a deleted queue ID is about 1 in 2**15 (the number of different microsecond values that the system clock can distinguish within a second). |
3) | postsuper(1) deletes the new message, instead of the old message that it should have deleted. |
-h queue_id |
Put mail "on hold" so that no attempt is made to deliver it. Move one message with the named queue ID from the named mail queue(s) (default: incoming, active and deferred) to the hold queue. If a queue_id of - is specified, the program reads queue IDs from standard input. |
-H queue_id |
Release mail that was put "on hold". Move one message with the named queue ID from the named mail queue(s) (default: hold) to the deferred queue. If a queue_id of - is specified, the program reads queue IDs from standard input. |
-p | Purge old temporary files that are left over after system or software crashes. |
-r queue_id |
Requeue the message with the named queue ID from the named mail queue(s) (default: hold, incoming, active and deferred). To requeue multiple messages, specify multiple -r command-line options. Alternatively, if a queue_id of - is specified, the program reads queue IDs from standard input. |
• | The message is not subjected to the smtpd_milters or non_smtpd_milters settings. When mail has passed through an external content filter, this would produce incorrect results with Milter applications that depend on original SMTP connection state information. |
• |
The message is subjected again to mail address rewriting and substitution. This is useful when rewriting rules or virtual mappings have changed. |
• | The message is subjected to the same content_filter settings (if any) as used for new local mail submissions. This is useful when content_filter settings have changed. |
Warning: Postfix queue IDs are reused. There is a very small possibility that postsuper(1) requeues the wrong message file when it is executed while the Postfix mail system is running, but no harm should be done. |
-s | Structure check and structure repair. This should be done once before Postfix startup. |
• | Rename files whose name does not match the message file inode number. This operation is necessary after restoring a mail queue from a different machine, or from backup media. |
• | Move queue files that are in the wrong place in the file system hierarchy and remove subdirectories that are no longer needed. File position rearrangements are necessary after a change in the hash_queue_names and/or hash_queue_depth configuration parameters. |
-v | Enable verbose logging for debugging purposes. Multiple -v options make the software increasingly verbose. |
postsuper(1) reports the number of messages deleted with -d, the number of messages requeued with -r, and the number of messages whose queue file name was fixed with -s. The report is written to the standard error stream and to syslogd(8).
MAIL_CONFIG | Directory with the main.cf file. |
config_directory (see 'postconf -d' output) | The default location of the Postfix main.cf and master.cf configuration files. |
hash_queue_depth (1) | The number of subdirectory levels for queue directories listed with the hash_queue_names parameter. |
hash_queue_names (deferred, defer) | The names of queue directories that are split across multiple subdirectory levels. |
queue_directory (see 'postconf -d' output) | The location of the Postfix top-level queue directory. |
syslog_facility (mail) | The syslog facility of Postfix logging. |
syslog_name (see 'postconf -d' output) | The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". |
August 25, 2011 |