06.04.2010: Postfix: Mailqueue aufräumen [update]
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.
Mit dem Befehl postsuper lassen sich auf der Linux Konsole bequem aus der Postfix Mailqueue E-Mails löschen.
Löschen einer E-Mail:
b32h324711 ist dabei die ID der Mail
postsuper -d b32h324711
Löschen einer Mail an einen bestimmten Empfänger:
name@domain.de 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:
name@domain.de 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 -
E-Mail auf Eis legen (hold), so dass Sie nicht mehr zugestellt wird:
b32h324711 ist dabei die ID der Mail
postsuper -h b32h324711
Auf Hold gestellte Mail wieder in die mailq bringen (unhold):
b32h324711 ist dabei die ID der Mail
postsuper -H b32h324711