mailq Command

Find Out What's Still Queued for Delivery

Penguin Using a Laptop Computer
John Coulter / Getty Images

mailq is a command on Linux systems that prints a summary of the email messages queued for future delivery.

The first line printed for each message shows the internal identifier used on your specific host for the message, with a possible status character, the size of the message in bytes, the date and time the message was accepted into the queue, and the envelope sender of the message.

The second line shows the error message that caused this message to be retained in the queue; it will not be present if the message is being processed for the first time.

The status characters are either an asterisk to indicate the job is being processed, an X to indicate that the load is too high to process the job, or a hyphen to indicate that the job is too young to process.

The following lines of output show the message recipients, one per line.

Note: mailq is identical to sendmail -bp.

mailq Command Syntax

mailq [-Ac] [-q...] [-v]  

mailqExecuting mailq without any switches shows the queued emails.
-AcShow the mail submission queue specified in /etc/mail/submit.cf instead of the MTA queue specified in /etc/mail/sendmail.cf.
-q[!]I substrLimit processed jobs to those containing substr as a substring of the queue id or not when !is specified.
-q[!]R substrLimit processed jobs to those containing substr as a substring of one of the recipients or not when ! is specified.
-q[!]S substrLimit processed jobs to those containing substr as a substring of the sender or not when ! is specified.
-vPrint verbose information. This switch adds the priority of the message and a single character indicator (a plus sign or a blank space) indicating whether a warning message has been sent on the first line of the message.1

1) Additionally, extra lines may be intermixed with the recipients indicating the "controlling user" information; this data shows who will own any programs that are executed on behalf of this message and the name of the alias this command expanded from. Moreover, status messages for each recipient are printed if they're available.

The mailq utility exits 0 on success, and >0 if an error occurs.

mailq Example

This is an example of what the mailq command might look like after being executed:

     Mail Queue (1 request)
---QID---- --Size-- -----Q-Time----- ------Sender/Recipient-----
AA45401        5    Thu Mar 10 11:15            root
            (User unknown)
                                     bad_user