List of helpfull command that used to help me when maintaining Postfix mailserver. I can put many things to my head so i create this cheatsheet to help me with postfix administration.
List mail queue and MAIL_ID’s, list mail queue
postqueue -p
mailq
Check the postfix version
postconf mail_version
Get default value set on the postfix config
postconf -d
Get non default value set on the postfix config
postconf -n
Flush the mail queuw
postfix flush
Force to send the queue
postqueue -f
Process all emails stuck in the queue
postsuper -r ALL && postqueue -f
Read email from mail queue
postcat -q MAIL_ID
Remove certain mail from mail queue
postsuper -d MAIL_ID
Remove all mail queue
postsuper -d ALL
Fast method to remove mail from queue
find /var/spool/postfix/deferred/ -type f | xargs -n1 basename | xargs -n1 postsuper -d
Remove all the deferred mail in queue
postsuper -d ALL deferred
Sorting email with “from address” filter
postqueue -p | awk '/^[0-9,A-F]/ {print $7}' | sort | uniq -c | sort -n
Remove all email that sent to [email protected]
postqueue -p|grep '^[A-Z0-9]'|grep [email protected]|cut -f1 -d' '|tr -d \*|postsuper -d -
Remove all email sent from [email protected]
postqueue -p|awk '/^[0-9,A-F].*[email protected] / {print $1}'|cut -d '!' -f 1|postsuper -d -
Remove all email sent from the dom.ain
postqueue -p | grep '^[A-Z0-9]'|grep @dom.ain|cut -f1 -d' ' |tr -d \*|postsuper -d -
Mail queue stats short
postqueue -p | tail -n 1
Number of emails in Mail queue
postqueue -p | grep -c "^[A-Z0-9]"
Fast count of emails in mail queue
find /var/spool/postfix/deferred -type f | wc -l
Watch Log Live
tail -f /var/log/maillog
Count and sort success pop3/imap logins
grep "\-login" /var/log/dovecot-info.log |grep "Login:"|awk {'print $7'}|sort|uniq -c|sort -n
Count and sort success SMTP postfix logins. This is usefull when you want to track a compromised account.
grep -i "sasl_username" /var/log/maillog |awk {'print $9'}|sort|uniq -c|sort -n
Count and sort success SMTP postfix logins on exact date “May 18”
grep -i "sasl_username" /var/log/maillog |grep "May 18"|awk {'print $9'}|sort|uniq -c|sort -n
Analyze Postfix Logs
pflogsumm /var/log/maillog | less
You may need to install the pflogsumm package first.