Es gibt Szenarien in denen es sehr nützlich ist zu wissen, wie man die Mail Queue des Postfix Mailservers komplett oder gezielt nach Absender oder Empfänger löscht.
mailq | tail -n +2 | grep -v '^ *(' | awk 'BEGIN { RS = "" }
# $7=Absender, $8=Empfänger1, $9=Empfänger2
{ if ($8 == "gibtsnicht@it-crowd.biz" && $7 == "MAILER-DAEMON")
print $1 }
' | tr -d '*!' | postsuper -d -
Die oben stehenden Zeilen löschen alle E-Mails von MAILER-DAEMON an gibtsnicht@it-crowd.biz
&&
gibt an, dass beide Bedingungen erfüllt sein müssen, damit die Mail gelöscht wird. Möchte man dass nur eine Bedingung erfüllt sein muss, sieht die Klammer dementsprechend so aus:
($7 == "MAILER-DAEMON")
Dies würde alle Mails des Absenders MAILER-DAEMON löschen.
tail: Warning: "+number" syntax is deprecated, please use "-n +number"
man sollte also besser "mailq | tail -n +2 | grep ..." verwenden