Postfix is a popular open-source mail transfer agent (MTA) that routes and delivers email. Occasionally, as part of the administration of this service, users will view, flush, and purge Postfix mail queues. These actions facilitate the manipulation of email delivery, enabling message reprioritization and/or cancellation. Such actions are often taken when messages are deferred or rejected from the recipient host.
How to see emails in Postfix message queues
In order to accomplish multiple queue operations such as flushing or purging, we must first see what email is in the queue.
To accomplish this, we will use the postqueue -p command or mailq
- postqueue -p
How to clear/remove the mail queue in postfix
- Postsuper command is used for postfix mail queue related maintenance work.
- postsuper command can only be run by super user of the system eg. root .
Remove ALL mails from queue
postsuper -d ALL
- postsuper -d ALL command deletes all the queued message files, in postfix queueing directories under /var/spool/postfix/.
- postsuper -d ALL operates directly in directories and files, i.e in the filesystem – it does not need the postfix service to be up and running for clearing the queue(s). One alternative to deleting files directly, is booting the server in single mode and/or with the postfix service not running, and letting postsuper -d ALL do its job.
Remove only ALL deferred mails
postsuper -d ALL deferred
Remove particular mail queue id
we can get mail queue id from mailq command.
postsuper -d mail_queue_id