Prints the state of queues: how many recipients are waiting, how many kilobytes, how many connections are open, what mode the queue is in. A queue here is a “receiving server plus sending address” pair (queue-identity), so one domain from three addresses gives three lines.
Events are included by default. Along with the queues, the command prints the last fifty deliveries, bounces and delays. The manual says so directly and provides an option to hide them — and if there is a “hide” option, they are there by default.
A separate option adds the history of mode changes — the very transitions into backoff mode and back that otherwise have to be reconstructed by polling: comparing the queue’s mode with what it was last time.
The selectors are the working vocabulary of an investigation. By open connection, by mode, by pause state. The last one distinguishes what is easy to confuse: a queue stopped by an operator and a queue held back by the node itself.
Sorting — by name, by number of recipients or by volume; twenty queues are printed by default.
And the second one is a domain name without a sending address. show queues gmail.com shows one queue, gmail.com/{default}, not all queues of this receiver; all of them are gmail.com/* (verified on a node on Sep 15, 2026: of the domain’s three queues the command showed one empty one).
The Hub reconstructs the history of mode changes by polling — it compares the selection with the previous one. The –mode-events option would give it at once and more precisely: polling is blind between two rounds and misses a short trip into backoff mode.
Options worth having at hand:
| Task | How to call it |
|---|---|
| see everything, not twenty | with an explicit number and sorting by recipients |
| find what is stuck | select by mode to see only backoff queues |
| separate what an operator stopped | select by pause state |
| understand when a queue went into backoff mode | the mode change history option |
| remove the noise of events | the option that hides recipient events |
Start with sorting by recipients. The twenty largest queues answer most questions; twenty random ones answer none.
Selecting by pause state is the first thing worth checking when a queue “is not sending”: stopped by an operator and held back by the node look the same but are treated differently.
# the twenty largest queues with mode change history pmta show queues --maxitems=20 --sort=rcpt --mode-events# only those in backoff mode, without the noise of events pmta show queues --mode=backoff --no-rcpt-events
what people get wrong and how it ends3 mistakes▶
§ 6.3.14
§ 6.3.14
§ 6.3.14
5 relations
How to name a queue in a commandHow to name a queue in the argument: the same pair with asterisks. § 6.3.14Recipient eventsThe very delivery and bounce events that are printed by default. § 11.17
The busiest queuesThe same command with sorting — the manual calls them equivalent. § 6.3.19
What the node tells about itself and through which channelsThe same question from the console — and in machine formats, not just on screen. § 1.4track-recipient-events<domain>The command that prints these events; the –no-rcpt-events option hides them. § 6.3.14QueuesThe same output from the command line. § 5.4Change a queue's mode by handA neighboring command: the same subject from another side. § 6.3.14Removing a sending address — and what happens to its queueThe check before removal: are there still messages tied to this sending address. inference
pmta show queues --sort=rcpt --maxitems=50 pmta show domains pmta show settings gmail.com/mta-news-1
3 articles
◇What the node tells about itself and through which channelsSeven observation surfaces: the web monitor, the console in four formats, the log, accounting, accounting search, metrics and export to external analytics.◇The watchdog that restarts the engineKeeps an eye on the engine and brings it back up after a crash by itself, sending a crash report to the postmaster address.◇How the policy for a receiver is assembledSettings are assembled from the most general pattern to the most precise; the order of blocks in the file means nothing.