318 lines
18 KiB
HTML
318 lines
18 KiB
HTML
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
"https://www.w3.org/TR/html4/loose.dtd">
|
|
<html> <head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<link rel='stylesheet' type='text/css' href='postfix-doc.css'>
|
|
<title> Postfix manual - postsuper(1) </title>
|
|
</head> <body> <pre>
|
|
POSTSUPER(1) POSTSUPER(1)
|
|
|
|
<b><a name="name">NAME</a></b>
|
|
postsuper - Postfix superintendent
|
|
|
|
<b><a name="synopsis">SYNOPSIS</a></b>
|
|
<b>postsuper</b> [<b>-psSv</b>]
|
|
[<b>-c</b> <i>config</i><b>_</b><i>dir</i>] [<b>-d</b> <i>queue</i><b>_</b><i>id</i>]
|
|
[<b>-e</b> <i>queue</i><b>_</b><i>id</i>] [<b>-f</b> <i>queue</i><b>_</b><i>id</i>]
|
|
[<b>-h</b> <i>queue</i><b>_</b><i>id</i>] [<b>-H</b> <i>queue</i><b>_</b><i>id</i>]
|
|
[<b>-r</b> <i>queue</i><b>_</b><i>id</i>] [<i>directory ...</i>]
|
|
|
|
<b><a name="description">DESCRIPTION</a></b>
|
|
The <a href="postsuper.1.html"><b>postsuper</b>(1)</a> command does maintenance jobs on the Postfix queue.
|
|
Use of the command is restricted to the superuser. See the
|
|
<a href="postqueue.1.html"><b>postqueue</b>(1)</a> command for unprivileged queue operations such as listing
|
|
or flushing the mail queue.
|
|
|
|
By default, <a href="postsuper.1.html"><b>postsuper</b>(1)</a> performs the operations requested with the <b>-s</b>
|
|
and <b>-p</b> command-line options on all Postfix queue directories - this
|
|
includes the <b>incoming</b>, <b>active</b>, <b>deferred</b>, and <b>hold</b> directories with mes-
|
|
sage files and the <b>bounce</b>, <b>defer</b>, <b>trace</b> and <b>flush</b> directories with log
|
|
files.
|
|
|
|
Options:
|
|
|
|
<b>-c</b> <i>config</i><b>_</b><i>dir</i>
|
|
The <a href="postconf.5.html"><b>main.cf</b></a> configuration file is in the named directory instead
|
|
of the default configuration directory. See also the MAIL_CONFIG
|
|
environment setting below.
|
|
|
|
<b>-d</b> <i>queue</i><b>_</b><i>id</i>
|
|
Delete one message with the named queue ID from the named mail
|
|
queue(s) (default: <b>hold</b>, <b>incoming</b>, <b>active</b> and <b>deferred</b>).
|
|
|
|
To delete multiple files, specify the <b>-d</b> option multiple times,
|
|
or specify a <i>queue</i><b>_</b><i>id</i> of <b>-</b> to read queue IDs from standard
|
|
input. For example, to delete all mail with exactly one recipi-
|
|
ent <b>user@example.com</b>:
|
|
|
|
postqueue -j | jq -r '
|
|
# See JSON OBJECT FORMAT section in the <a href="postqueue.1.html">postqueue(1)</a> manpage
|
|
select(.recipients[0].address == "user@example.com")
|
|
| select(.recipients[1].address == null)
|
|
| .queue_id
|
|
' | postsuper -d -
|
|
|
|
(note the "jq -r" option), or the historical form:
|
|
|
|
mailq | tail -n +2 | grep -v '^ *(' | awk 'BEGIN { RS = "" }
|
|
# $7=sender, $8=recipient1, $9=recipient2
|
|
{ if ($8 == "user@example.com" && $9 == "")
|
|
print $1 }
|
|
' | tr -d '*!' | postsuper -d -
|
|
|
|
Specify "<b>-d ALL</b>" to remove all messages; for example, specify
|
|
"<b>-d ALL deferred</b>" to delete all mail in the <b>deferred</b> queue. As
|
|
a safety measure, the word <b>ALL</b> must be specified in upper case.
|
|
|
|
Warning: Postfix queue IDs are reused (always with Postfix <=
|
|
2.8; and with Postfix >= 2.9 when <a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a>=no).
|
|
There is a very small possibility that postsuper deletes the
|
|
wrong message file when it is executed while the Postfix mail
|
|
system is delivering mail.
|
|
|
|
The scenario is as follows:
|
|
|
|
1) The Postfix queue manager deletes the message that <a href="postsuper.1.html"><b>post-</b></a>
|
|
<a href="postsuper.1.html"><b>super</b>(1)</a> 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 <a href="postsuper.1.html"><b>postsuper</b>(1)</a> 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) <a href="postsuper.1.html"><b>postsuper</b>(1)</a> deletes the new message, instead of the old
|
|
message that it should have deleted.
|
|
|
|
<b>-e</b> <i>queue</i><b>_</b><i>id</i>
|
|
|
|
<b>-f</b> <i>queue</i><b>_</b><i>id</i>
|
|
Request forced expiration for one message with the named queue
|
|
ID in the named mail queue(s) (default: <b>hold</b>, <b>incoming</b>, <b>active</b>
|
|
and <b>deferred</b>).
|
|
|
|
<b>o</b> The message will be returned to the sender when the queue
|
|
manager attempts to deliver that message (note that Post-
|
|
fix will never deliver messages in the <b>hold</b> queue).
|
|
|
|
<b>o</b> The <b>-e</b> and <b>-f</b> options both request forced expiration. The
|
|
difference is that <b>-f</b> will also release a message if it
|
|
is in the <b>hold</b> queue. With <b>-e</b>, such a message would not
|
|
be returned to the sender until it is released with <b>-f</b> or
|
|
<b>-H</b>.
|
|
|
|
<b>o</b> When a deferred message is force-expired, the return mes-
|
|
sage will state the reason for the delay. Otherwise, the
|
|
reason will be "message is administratively expired".
|
|
|
|
To expire multiple files, specify the <b>-e</b> or <b>-f</b> option multiple
|
|
times, or specify a <i>queue</i><b>_</b><i>id</i> of <b>-</b> to read queue IDs from stan-
|
|
dard input (see the <b>-d</b> option above for an example, but be sure
|
|
to replace <b>-d</b> in the example).
|
|
|
|
Specify "<b>-e ALL</b>" or "<b>-f ALL</b>" to expire all messages; for exam-
|
|
ple, specify "<b>-e ALL deferred</b>" to expire all mail in the
|
|
<b>deferred</b> queue. As a safety measure, the word <b>ALL</b> must be spec-
|
|
ified in upper case.
|
|
|
|
These features are available in Postfix 3.5 and later.
|
|
|
|
<b>-h</b> <i>queue</i><b>_</b><i>id</i>
|
|
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: <b>incoming</b>, <b>active</b> and <b>deferred</b>) to the <b>hold</b>
|
|
queue.
|
|
|
|
To hold multiple files, specify the <b>-h</b> option multiple times, or
|
|
specify a <i>queue</i><b>_</b><i>id</i> of <b>-</b> to read queue IDs from standard input.
|
|
|
|
Specify "<b>-h ALL</b>" to hold all messages; for example, specify "<b>-h</b>
|
|
<b>ALL deferred</b>" to hold all mail in the <b>deferred</b> queue. As a
|
|
safety measure, the word <b>ALL</b> must be specified in upper case.
|
|
|
|
Note: while mail is "on hold" it will not expire when its time
|
|
in the queue exceeds the <b><a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a></b> or
|
|
<b><a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a></b> setting. It becomes subject to expiration
|
|
after it is released from "hold".
|
|
|
|
This feature is available in Postfix 2.0 and later.
|
|
|
|
<b>-H</b> <i>queue</i><b>_</b><i>id</i>
|
|
Release mail that was put "on hold". Move one message with the
|
|
named queue ID from the named mail queue(s) (default: <b>hold</b>) to
|
|
the <b>deferred</b> queue.
|
|
|
|
To release multiple files, specify the <b>-H</b> option multiple times,
|
|
or specify a <i>queue</i><b>_</b><i>id</i> of <b>-</b> to read queue IDs from standard
|
|
input.
|
|
|
|
Note: specify "<b>postsuper -r</b>" to release mail that was kept on
|
|
hold for a significant fraction of <b>$<a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a></b> or
|
|
<b>$<a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a></b>, or longer.
|
|
|
|
Specify "<b>-H ALL</b>" to release all mail that is "on hold". As a
|
|
safety measure, the word <b>ALL</b> must be specified in upper case.
|
|
|
|
This feature is available in Postfix 2.0 and later.
|
|
|
|
<b>-p</b> Purge old temporary files that are left over after system or
|
|
software crashes. The <b>-p</b>, <b>-s</b>, and <b>-S</b> operations are done before
|
|
other operations.
|
|
|
|
<b>-r</b> <i>queue</i><b>_</b><i>id</i>
|
|
Requeue the message with the named queue ID from the named mail
|
|
queue(s) (default: <b>hold</b>, <b>incoming</b>, <b>active</b> and <b>deferred</b>).
|
|
|
|
To requeue multiple files, specify the <b>-r</b> option multiple times,
|
|
or specify a <i>queue</i><b>_</b><i>id</i> of <b>-</b> to read queue IDs from standard
|
|
input.
|
|
|
|
Specify "<b>-r ALL</b>" to requeue all messages. As a safety measure,
|
|
the word <b>ALL</b> must be specified in upper case.
|
|
|
|
A requeued message is moved to the <b>maildrop</b> queue, from where it
|
|
is copied by the <a href="pickup.8.html"><b>pickup</b>(8)</a> and <a href="cleanup.8.html"><b>cleanup</b>(8)</a> daemons to a new queue
|
|
file. In many respects its handling differs from that of a new
|
|
local submission.
|
|
|
|
<b>o</b> The message is not subjected to the <a href="postconf.5.html#smtpd_milters">smtpd_milters</a> or
|
|
<a href="postconf.5.html#non_smtpd_milters">non_smtpd_milters</a> 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.
|
|
|
|
<b>o</b> The message is subjected again to mail address rewriting
|
|
and substitution. This is useful when rewriting rules or
|
|
virtual mappings have changed.
|
|
|
|
The address rewriting context (local or remote) is the
|
|
same as when the message was received.
|
|
|
|
<b>o</b> The message is subjected to the same <a href="postconf.5.html#content_filter">content_filter</a> set-
|
|
tings (if any) as used for new local mail submissions.
|
|
This is useful when <a href="postconf.5.html#content_filter">content_filter</a> settings have changed.
|
|
|
|
Warning: Postfix queue IDs are reused (always with Postfix <=
|
|
2.8; and with Postfix >= 2.9 when <a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a>=no).
|
|
There is a very small possibility that <a href="postsuper.1.html"><b>postsuper</b>(1)</a> requeues the
|
|
wrong message file when it is executed while the Postfix mail
|
|
system is running, but no harm should be done.
|
|
|
|
This feature is available in Postfix 1.1 and later.
|
|
|
|
<b>-s</b> Structure check and structure repair. This should be done once
|
|
before Postfix startup. The <b>-p</b>, <b>-s</b>, and <b>-S</b> operations are done
|
|
before other operations.
|
|
|
|
<b>o</b> 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,
|
|
when queue files were created with Postfix <= 2.8 or with
|
|
"<a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a> = no".
|
|
|
|
<b>o</b> 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 neces-
|
|
sary after a change in the <b><a href="postconf.5.html#hash_queue_names">hash_queue_names</a></b> and/or
|
|
<b><a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a></b> configuration parameters.
|
|
|
|
<b>o</b> Rename queue files created with "<a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a> =
|
|
yes" to short names, for migration to Postfix <= 2.8.
|
|
The procedure is as follows:
|
|
|
|
# postfix stop
|
|
# postconf <a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a>=no
|
|
# postsuper
|
|
|
|
Run <a href="postsuper.1.html"><b>postsuper</b>(1)</a> repeatedly until it stops reporting file
|
|
name changes.
|
|
|
|
<b>-S</b> A redundant version of <b>-s</b> that requires that long file names
|
|
also match the message file inode number. This option exists for
|
|
testing purposes, and is available with Postfix 2.9 and later.
|
|
The <b>-p</b>, <b>-s</b>, and <b>-S</b> operations are done before other operations.
|
|
|
|
<b>-v</b> Enable verbose logging for debugging purposes. Multiple <b>-v</b>
|
|
options make the software increasingly verbose.
|
|
|
|
<b><a name="diagnostics">DIAGNOSTICS</a></b>
|
|
Problems are reported to the standard error stream and to <b>syslogd</b>(8) or
|
|
<a href="postlogd.8.html"><b>postlogd</b>(8)</a>.
|
|
|
|
<a href="postsuper.1.html"><b>postsuper</b>(1)</a> reports the number of messages deleted with <b>-d</b>, the number
|
|
of messages expired with <b>-e</b>, the number of messages expired or released
|
|
with <b>-f</b>, the number of messages held or released with <b>-h</b> or <b>-H</b>, the
|
|
number of messages requeued with <b>-r</b>, and the number of messages whose
|
|
queue file name was fixed with <b>-s</b>. The report is written to the stan-
|
|
dard error stream and to <b>syslogd</b>(8) or <a href="postlogd.8.html"><b>postlogd</b>(8)</a>.
|
|
|
|
<b><a name="environment">ENVIRONMENT</a></b>
|
|
MAIL_CONFIG
|
|
Directory with the <a href="postconf.5.html"><b>main.cf</b></a> file.
|
|
|
|
<b><a name="bugs">BUGS</a></b>
|
|
Mail that is not sanitized by Postfix (i.e. mail in the <b>maildrop</b> queue)
|
|
cannot be placed "on hold".
|
|
|
|
<b><a name="configuration_parameters">CONFIGURATION PARAMETERS</a></b>
|
|
The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant to this pro-
|
|
gram. The text below provides only a parameter summary. See <a href="postconf.5.html"><b>post-</b></a>
|
|
<a href="postconf.5.html"><b>conf</b>(5)</a> for more details including examples.
|
|
|
|
<b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
|
|
The default location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a> con-
|
|
figuration files.
|
|
|
|
<b><a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> (1)</b>
|
|
The number of subdirectory levels for queue directories listed
|
|
with the <a href="postconf.5.html#hash_queue_names">hash_queue_names</a> parameter.
|
|
|
|
<b><a href="postconf.5.html#hash_queue_names">hash_queue_names</a> (deferred, defer)</b>
|
|
The names of queue directories that are split across multiple
|
|
subdirectory levels.
|
|
|
|
<b><a href="postconf.5.html#import_environment">import_environment</a> (see 'postconf -d' output)</b>
|
|
The list of environment variables that a privileged Postfix
|
|
process will import from a non-Postfix parent process, or
|
|
name=value environment overrides.
|
|
|
|
<b><a href="postconf.5.html#queue_directory">queue_directory</a> (see 'postconf -d' output)</b>
|
|
The location of the Postfix top-level queue directory.
|
|
|
|
<b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b>
|
|
The syslog facility of Postfix logging.
|
|
|
|
<b><a href="postconf.5.html#syslog_name">syslog_name</a> (see 'postconf -d' output)</b>
|
|
A prefix that is prepended to the process name in syslog
|
|
records, so that, for example, "smtpd" becomes "prefix/smtpd".
|
|
|
|
Available in Postfix version 2.9 and later:
|
|
|
|
<b><a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a> (no)</b>
|
|
Enable long, non-repeating, queue IDs (queue file names).
|
|
|
|
<b><a name="see_also">SEE ALSO</a></b>
|
|
<a href="sendmail.1.html">sendmail(1)</a>, Sendmail-compatible user interface
|
|
<a href="postqueue.1.html">postqueue(1)</a>, unprivileged queue operations
|
|
<a href="postlogd.8.html">postlogd(8)</a>, Postfix logging
|
|
syslogd(8), system logging
|
|
|
|
<b><a name="license">LICENSE</a></b>
|
|
The Secure Mailer license must be distributed with this software.
|
|
|
|
<b>AUTHOR(S)</b>
|
|
Wietse Venema
|
|
IBM T.J. Watson Research
|
|
P.O. Box 704
|
|
Yorktown Heights, NY 10598, USA
|
|
|
|
Wietse Venema
|
|
Google, Inc.
|
|
111 8th Avenue
|
|
New York, NY 10011, USA
|
|
|
|
POSTSUPER(1)
|
|
</pre> </body> </html>
|