Postfix: Mailqueue aufräumen
Mit Hilfe von postsuper lässt sich eine volle Mailqueue problemlos säubern.
Mit dem Befehl
mailq
lassen sich alle E-Mails in der Mailqueue anzeigen.
Anzahl der Mails in der Queue:
mailq | egrep '^--'
Mit dem Befehl postsuper lassen sich auf der Linux Konsole bequem aus der Postfix Mailqueue E-Mails löschen.
Ausliefern aller Mails
postqueue -f
Löschen einer E-Mail:
b32h324711 ist dabei die ID der Mail
postsuper -d b32h324711
Löschen einer Mail an einen bestimmten Empfänger:
This e-mail address is being protected from spambots. You need JavaScript enabled to view it. ist hier in diesem Beispiel der Empfänger.
mailq | tail -n +2 | awk 'BEGIN { RS = "" } / name@domain\.de$/ { print $1 } \ ' | tr -d '*!' | postsuper -d -
Löschen aller Mails von einem bestimmten Empfänger:
This e-mail address is being protected from spambots. You need JavaScript enabled to view it. ist hier in diesem Beispiel der Sender.
mailq | awk '/.*name@domain\.de$/ { print $1 } \ ' | tr -d '*!' | postsuper -d -
Löschen aller Mails mit bestimmten Meldungen:
Hier werden alle Mails mit der Meldung "server dropped connection" gelöscht.
mailq | tail -n +2 | awk 'BEGIN { RS = "" } /server dropped connection/ { print $1 } \ ' | tr -d '*!' | postsuper -d -
Komplette Mailqueue löschen
postsuper -d ALL
E-Mail auf Eis legen (hold), so dass Sie nicht mehr zugestellt wird:
b32h324711 ist dabei die ID der Mail
postsuper -h b32h324711
Komplette Mailqueue auf Hold
postsuper -h ALL
Auf Hold gestellte Mail wieder in die mailq bringen (unhold):
b32h324711 ist dabei die ID der Mail
postsuper -H b32h324711
Alle Mails wieder in die Queue bringen (unhold)
postsuper -H ALL
Mail in der Mailqueue lesen
b32h324711 ist dabei die ID der Mail
postcat -q b32h324711
