postsuper(1)


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

          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 -

          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.

          If a queue_id of - is specified, the  program  reads  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.

          If a queue_id of - is specified, the  program  reads  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  messages,  specify  multiple  -r command-line
          options.

          Alternatively, if a queue_id of  -  is  specified,  the  program
          reads 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).

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

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.

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

   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

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)





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.