Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
POSTSUPER(1)		    General Commands Manual		  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	 post-
		     super(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.

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

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

	      o	     The message is subjected to the same content_filter  set-
		     tings  (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.

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

	      o	     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  hash_queue_names	and/or
		     hash_queue_depth configuration parameters.

	      o	     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 pro-
       gram.  The text below provides only  a  parameter  summary.  See	 post-
       conf(5) for more	details	including examples.

       config_directory	(see 'postconf -d' output)
	      The  default  location of	the Postfix main.cf and	master.cf con-
	      figuration 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,	"post-
	      fix/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

								  POSTSUPER(1)

NAME | SYNOPSIS | DESCRIPTION | DIAGNOSTICS | ENVIRONMENT | BUGS | CONFIGURATION PARAMETERS | SEE ALSO | LICENSE | AUTHOR(S)

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=postsuper&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help