Problem:
Manchmal will man etwas Einfluß auf die Mail-Queue haben
Lösungen:
Webmin
Eine einfache klicki-bunti-Lösung!
Das Webmin-Postfix Modul ist standardmäßig installiert und bietet eine gute Oberfläche zum verwalten der Mail-Queue
Commandozeile
Aber es geht auch in der Commandozeilen:
#Mail-Queue ansehen (sicherheitshalber mit less):
mailq | less
#Anzahl der Mails in der Queue:
mailq | egrep '^--'
#gesamte Mail-Queue löschen:
postsuper -d ALL
#einzelne Mails aus der Queue löschen:
mailq | less
#die entsprechende queue_id merken/kopieren
postsuper -d ID
#Trickreicher wird es wenn man alle Emails von oder zu einer Adresse löschen möchte:
mailq | tail +2 | awk 'BEGIN { RS = "" } / user@huschi\.net$/ { print $1 } ' \
| tr -d '*!' | postsuper -d -
#oder auch so:
for i in `mailq | egrep "^[0-9A-F]" | grep 'MAILER-DAEMON' | cut -c1-12 | sed s/\*//g` ; \
do echo "delete msg: $i" ; postsuper -d $i ; done
Experten feeling...
Postfix erlaubt aber noch weitere Späße mit Mails in der Queue. Z.B. besitzt es die Fähigkeit Emails auf "hold" zu legen. Damit verbleiben die Emails in der Queue und werden nicht automatisch weiter verarbeitet:
#alle Mails auf "hold": postsuper -h ALL #einzelne Mails auf "hold": postsuper -h ID #alle Mails von "hold" wieder releasen: postsuper -H ALL #einzelne Mails releasen: postsuper -H ID
Wenn man mal zuviele Emails auf der Halde liegen hat, möchte man eventuell, daß Postfix nun mal anfängt auszuliefern:
postqueue -f