NAME
postqueue - Postfix queue control
SYNOPSIS
To flush the mail queue:
postqueue [-v] [-c config_dir] -f
postqueue [-v] [-c config_dir] -i queue_id
postqueue [-v] [-c config_dir] -s site
To list the mail queue:
postqueue [-v] [-c config_dir] -j
postqueue [-v] [-c config_dir] -p
DESCRIPTION
The
postqueue(1) command implements the Postfix user interface for queue
management. It implements operations that are traditionally available via the
sendmail(1) command. See the
postsuper(1) command for queue
operations that require super-user privileges such as deleting a message from
the queue or changing the status of a message.
The following options are recognized:
- -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.
- -f
- Flush the queue: attempt to deliver all queued mail.
This option implements the traditional " sendmail -q"
command, by contacting the Postfix qmgr(8) daemon.
Warning: flushing undeliverable mail frequently will result in poor delivery
performance of all other mail.
- -i queue_id
- Schedule immediate delivery of deferred mail with the
specified queue ID.
This option implements the traditional sendmail -qI command, by
contacting the flush(8) server.
This feature is available with Postfix version 2.4 and later.
- -j
- Produce a queue listing in JSON format, based on output
from the showq(8) daemon. The result is a stream of zero or more JSON
objects, one per queue file. Each object is followed by a newline
character to support simple streaming parsers. See " JSON OBJECT
FORMAT" below for details.
This feature is available in Postfix 3.1 and later.
- -p
- Produce a traditional sendmail-style queue listing. This
option implements the traditional mailq command, by contacting the
Postfix showq(8) daemon.
Each queue entry shows the queue file ID, message size, arrival time,
sender, and the recipients that still need to be delivered. If mail could
not be delivered upon the last attempt, the reason for failure is shown.
The queue ID string is followed by an optional status character:
- *
- The message is in the active queue, i.e. the message
is selected for delivery.
- !
- The message is in the hold queue, i.e. no further
delivery attempt will be made until the mail is taken off hold.
- -s site
- Schedule immediate delivery of all mail that is queued for
the named site. A numerical site must be specified as a valid RFC
5321 address literal enclosed in [], just like in email addresses. The
site must be eligible for the "fast flush" service. See
flush(8) for more information about the "fast flush"
service.
This option implements the traditional " sendmail
-qRsite" command, by contacting the Postfix
flush(8) daemon.
- -v
- Enable verbose logging for debugging purposes. Multiple
-v options make the software increasingly verbose. As of Postfix
2.3, this option is available for the super-user only.
JSON OBJECT FORMAT
Each JSON object represents one queue file; it is emitted as a single text line
followed by a newline character.
Object members have string values unless indicated otherwise. Programs should
ignore object members that are not listed here; the list of members is
expected to grow over time.
- queue_name
- The name of the queue where the message was found. Note
that the contents of the mail queue may change while it is being listed;
some messages may appear more than once, and some messages may be
missed.
- queue_id
- The queue file name. The queue_id may be reused within a
Postfix instance unless "enable_long_queue_ids = true" and time
is monotonic. Even then, the queue_id is not expected to be unique between
different Postfix instances. Management tools that require a unique name
should combine the queue_id with the myhostname setting of the Postfix
instance.
- arrival_time
- The number of seconds since the start of the UNIX
epoch.
- message_size
- The number of bytes in the message header and body. This
number does not include message envelope information. It is approximately
equal to the number of bytes that would be transmitted via SMTP including
the <CR><LF> line endings.
- sender
- The envelope sender address.
- recipients
- An array containing zero or more objects with members:
- address
- One recipient address.
- delay_reason
- If present, the reason for delayed delivery. Delayed
recipients may have no delay reason, for example, while delivery is in
progress, or after the system was stopped before it could record the
reason.
SECURITY
This program is designed to run with set-group ID privileges, so that it can
connect to Postfix daemon processes.
STANDARDS
RFC 7159 (JSON notation)
DIAGNOSTICS
Problems are logged to
syslogd(8) and to the standard error stream.
ENVIRONMENT
- MAIL_CONFIG
- Directory with the main.cf file. In order to avoid
exploitation of set-group ID privileges, a non-standard directory is
allowed only if:
- •
- The name is listed in the standard main.cf file with
the alternate_config_directories configuration parameter.
- •
- The command is invoked by the super-user.
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.
- alternate_config_directories (empty)
- A list of non-default Postfix configuration directories
that may be specified with "-c config_directory" on the command
line, or via the MAIL_CONFIG environment parameter.
- config_directory (see 'postconf -d' output)
- The default location of the Postfix main.cf and master.cf
configuration files.
- command_directory (see 'postconf -d' output)
- The location of all postfix administrative commands.
- fast_flush_domains ($relay_domains)
- Optional list of destinations that are eligible for
per-destination logfiles with mail that is queued to those
destinations.
- import_environment (see 'postconf -d' output)
- The list of environment parameters that a Postfix process
will import from a non-Postfix parent process.
- 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".
- trigger_timeout (10s)
- The time limit for sending a trigger to a Postfix daemon
(for example, the pickup(8) or qmgr(8) daemon).
Available in Postfix version 2.2 and later:
- authorized_flush_users (static:anyone)
- List of users who are authorized to flush the queue.
- authorized_mailq_users (static:anyone)
- List of users who are authorized to view the queue.
FILES
/var/spool/postfix, mail queue
SEE ALSO
qmgr(8), queue manager
showq(8), list mail queue
flush(8), fast flush service
sendmail(1), Sendmail-compatible user interface
postsuper(1), privileged queue operations
README FILES
Use "
postconf readme_directory" or "
postconf
html_directory" to locate this information.
ETRN_README, Postfix ETRN howto
LICENSE
The Secure Mailer license must be distributed with this software.
HISTORY
The postqueue command was introduced with Postfix version 1.1.
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