Normalerweise muss man an der Mailqueue nichts machen, aber es kann vorkommen, dass man Einfluss nehmen muss. Ein Anstoßen einer Email in der Queue oder eine Mail aus der Queue löschen oder möglicherweise sogar die Mailqueue anhalten. Das funktioniert mit folgenden Befehlen:
Befehl: | Auswirkung: |
mailq | Anzeigen der Mailqueue |
postsuper -d ALL | Alle Emails aus der Mailqueue löschen |
postsuper -d [ID] | Eine einzelne Email löschen |
postsuper -h ALL | Die Mailqueue anhalten (keine Auslieferung mehr. |
postsuper -H ALL | Die Mailqueue weiterlaufen lassen |
postsuper -h [ID] | Eine einzelne Mail aus der Queue anhalten |
postsuper -H [ID] | Eine einzelne Mail aus der Queue weiterlaufen lassen |
postqueue -f | Postfix anweisen alle Mails aus der Queue sofort auszuliefern |
Nun kann es sein, dass man alle Mails, die von oder an eine Adresse kommen/gehen gelöscht werden. Dazu muss man auf die RegExp zurückgreifen.
mailq | tail +2 | awk 'BEGIN { RS = "" } / user@huschi\.net$/ { print $1 } ' \ | tr -d '*!' | postsuper -d -
Oder
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
Ansonsten ist das Tool "pfqueue" noch interessant.