Skip to content

Mail Queue

The Mail Queue page shows the messages currently queued in Postfix on this server, and lets you act on them without opening a shell.

Overview

Mail Queue

URL: /admin/mail-queue - under Email.

A message sits in the queue when Postfix has accepted it but has not delivered it yet. A queue that keeps growing is usually the first visible sign of a delivery problem: a remote server refusing mail, a misconfigured relay, or an account sending spam.

Queue totals

Four badges above the table summarise the queue:

BadgeMeaning
TotalAll messages currently in the queue.
ActiveMessages Postfix is delivering right now.
DeferredMessages whose delivery failed with a temporary error and will be retried.
HoldMessages placed on hold; Postfix will not attempt delivery until they are released.

A large or steadily rising Deferred count is the value to watch. The Email dashboard shows a backlog indicator when the queue grows, so you can notice the problem without opening this page.

Filters

Three filters narrow the listing:

  • Sender contains - substring match on the envelope sender.
  • Recipient contains - substring match on a recipient address.
  • Domain (exact) - an exact domain match.

Click Apply to run the filters, or Clear to reset them and reload the full queue. Refresh re-reads the queue with the filters that are currently set.

Message table

ColumnDescription
Queue IDThe Postfix queue identifier for the message.
QueueThe queue the message sits in (active, deferred, hold).
AgeHow long the message has been queued.
SizeThe message size.
SenderThe envelope sender. A message generated by the mail system itself shows (bounce).
RecipientsThe envelope recipients.

The page loads the newest 500 matching messages. When more messages match, the listing is marked as showing the newest 500 only; narrow the filters to reach the rest.

When nothing matches, the table shows "No queued messages match the filters."; on an empty queue it shows "The mail queue is empty."

Per-message actions

  • Preview - opens the message headers and body in a dialog. A long body is truncated. Use this to identify what is stuck before you delete anything.
  • Retry - asks Postfix to attempt delivery of that message immediately, instead of waiting for the next scheduled retry.
  • Delete - removes the message from the queue. It is never delivered, and the action cannot be undone.

Queue-wide actions

  • Flush queue - asks Postfix to attempt delivery of every queued message immediately. Use it after fixing the underlying cause, for example once a DNS record or a relay credential is corrected.
  • Delete all matching - removes every message matching the active filters. The confirmation dialog names the filters and the number of messages that match.

Warning: Delete all matching requires at least one filter. Without a filter the action refuses to run, so you cannot empty the whole queue by accident. Deleted messages are gone; they are not bounced back to the sender.

Typical workflow

  1. Notice a backlog on the Email dashboard, or open the page directly.
  2. Filter by the sending domain or address you suspect.
  3. Preview one of the messages to confirm what is being sent and why it is stuck.
  4. Fix the cause: correct the DNS record, adjust the relay, or suspend a compromised account.
  5. Flush queue to push the legitimate backlog out, or Delete all matching to drop a spam run.