Provided by: postfix_3.4.13-0ubuntu1.4_amd64 bug

NAME

       postsuper - Postfix superintendent

SYNOPSIS

       postsuper [-psSv] [-c config_dir] [-d queue_id]
               [-h queue_id] [-H queue_id]
               [-r queue_id] [directory ...]

DESCRIPTION

       The postsuper(1) command does maintenance jobs on the Postfix queue. Use of the command is
       restricted to  the  superuser.   See  the  postqueue(1)  command  for  unprivileged  queue
       operations such as listing or flushing the mail queue.

       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).

              To delete multiple files, specify the  -d  option  multiple  times,  or  specify  a
              queue_id  of  -  to  read queue IDs from standard input. For example, to delete all
              mail with exactly one recipient user@example.com:

              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 "-d ALL" to remove all messages; for example, specify "-d ALL deferred"  to
              delete  all  mail in the deferred queue.  As a safety measure, the word ALL must be
              specified in upper case.

              Warning: Postfix queue IDs are reused (always with Postfix <= 2.8; and with Postfix
              >=  2.9  when  enable_long_queue_ids=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 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.

              To hold multiple files, specify the -h option multiple times, or specify a queue_id
              of - to read queue IDs from standard input.

              Specify "-h ALL" to hold all messages; for example, specify "-h  ALL  deferred"  to
              hold  all  mail  in  the deferred queue.  As a safety measure, the word ALL must be
              specified in upper case.

              Note: while mail is "on hold" it will not expire when its time in the queue exceeds
              the  maximal_queue_lifetime or bounce_queue_lifetime setting. It becomes subject to
              expiration after it is released from "hold".

              This feature is available in Postfix 2.0 and later.

       -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.

              To  release  multiple  files,  specify  the  -H option multiple times, or specify a
              queue_id of - to read queue IDs from standard input.

              Note: specify "postsuper  -r"  to  release  mail  that  was  kept  on  hold  for  a
              significant  fraction  of  $maximal_queue_lifetime  or  $bounce_queue_lifetime,  or
              longer.

              Specify "-H ALL" to release all mail that is "on hold".  As a safety  measure,  the
              word ALL must be specified in upper case.

              This feature is available in Postfix 2.0 and later.

       -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 files, specify the -r  option  multiple  times,  or  specify  a
              queue_id of - to read queue IDs from standard input.

              Specify "-r ALL" to requeue all messages. As a safety measure, the word ALL must be
              specified in upper case.

              A requeued message is moved to the maildrop queue, from where it is copied  by  the
              pickup(8) and cleanup(8) daemons to a new queue file. In many respects its handling
              differs from that of a new local submission.

              •      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 address rewriting context (local or remote) is  the  same  as  when  the
                     message was received.

              •      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 (always with Postfix <= 2.8; and with Postfix
              >= 2.9 when enable_long_queue_ids=no).  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.

              This feature is available in Postfix 1.1 and later.

       -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,  when queue files were created with Postfix <= 2.8 or with
                     "enable_long_queue_ids = no".

              •      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.

              •      Rename  queue  files  created  with  "enable_long_queue_ids  = yes" to short
                     names, for migration to Postfix <= 2.8.  The procedure is as follows:

                     # postfix stop
                     # postconf enable_long_queue_ids=no
                     # postsuper

                     Run postsuper(1) repeatedly until it stops reporting file name changes.

       -S     A redundant version of -s 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.

       -v     Enable verbose logging  for  debugging  purposes.  Multiple  -v  options  make  the
              software increasingly verbose.

DIAGNOSTICS

       Problems are reported to the standard error stream and to syslogd(8) or postlogd(8).

       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) or postlogd(8).

ENVIRONMENT

       MAIL_CONFIG
              Directory with the main.cf file.

BUGS

       Mail  that  is not sanitized by Postfix (i.e. mail in the maildrop queue) cannot be placed
       "on hold".

CONFIGURATION PARAMETERS

       The following main.cf parameters are especially relevant to this program.  The text  below
       provides only a parameter summary. See postconf(5) for more details including examples.

       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.

       import_environment (see 'postconf -d' output)
              The list of environment parameters that a privileged Postfix  process  will  import
              from a non-Postfix parent process, or name=value environment overrides.

       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)
              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:

       enable_long_queue_ids (no)
              Enable long, non-repeating, queue IDs (queue file names).

SEE ALSO

       sendmail(1), Sendmail-compatible user interface
       postqueue(1), unprivileged queue operations
       postlogd(8), Postfix logging
       syslogd(8), system logging

LICENSE

       The Secure Mailer license must be distributed with this software.

AUTHOR(S)

       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)