This post shows you some Postfix queue operations to maintain your mail servers on a day to day basis. The Postfix superintendent postsuper command does maintenance jobs on the Postfix queue. Use of the command is restricted to the superuser. The following commands releases or deletes mail:
To see the Postfix mail queue, simply enter the following command on your Linux Bash shell:
mailq
To delete all mail from the Postfix mail queue:
postsuper -d ALL
To remove all mails in the deferred queue:
postsuper -d ALL deferred
Remove all mails in the hold queue:
postsuper -d ALL hold
You can use -H
to release an email that was put "on hold" in Postfix' queues. Release an email by its queue-id:
postsuper -H <queue_id>
Or release all hold mails from the hold queue:
postsuper -H ALL
Are you running multiple Postfix mail instances? Use postmulti
, the multi-instance manager:
postmulti -i <instance> -x mailq
postmulti -i <instance> -x postsuper -d ALL
postmulti -i <instance> -x postsuper -d ALL deferred
postmulti -i <instance> -x postsuper -d ALL hold
How to delete all MAILER-DAEMON emails in Postfix queue
Sort Postfix' mailq by date
It is always nice to sort mailq's output by date. @climagic posted on Twitter:
# Show your postfix mail queue sender/queueid lines and order them by time # (day and hour at least)
mailq |grep "^[A-F0-9]" |sort -k5n -k6n
# or add -r to sort to reverse the date sort output (may not always be correct)
mailq |grep "^[A-F0-9]" |sort -k5rn -k6n
Display email subject in Postfix queue
If you want to show the subject line of an email in Postfix mail queue, you can use this:
# deferred queue
mailq | grep -v [\!\*] | grep ^[0-9A-Z] | cut -d " " -f 1 | xargs postcat -qh | grep ^Subject
# hold queue
mailq | grep \! | grep ^[0-9A-Z] | cut -d '!' -f 1 | xargs postcat -qh | grep ^Subject
Conclusion
In this post you learned how to to flush the Postfix mail queue using the command line and delete all mail from the queue. Easily using the Postfix postsuper
command. The postsuper
command controls different types of queues in the Postfix mail system, like the deferred or hold queue.