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.

Hemat Pangkal Kaya

Insignificant one

List mail queue and MAIL_ID’s, list mail queue

postqueue -p


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.

Previous ArticleNext Article

Leave a Reply

Your email address will not be published.