Codeschnipsel

Postfix Mail-Queue verwalten

Mails stecken in der Queue? Mit ein paar Postfix-Befehlen lässt sich die Mail-Queue auflisten, einzelne Nachrichten prüfen und bei Bedarf leeren.

Helmut Weber 18.07.2014

Auf Servern mit Postfix als Mail-Transfer-Agent können Nachrichten in der Queue hängen bleiben – etwa weil der Zielserver nicht erreichbar war, wegen Konfigurationsfehlern oder schlicht wegen eines Spam-Ausbruchs. Diese Befehle helfen dabei, die Situation schnell zu beurteilen und zu bereinigen.

Queue anzeigen

mailq
# oder gleichwertig:
postqueue -p

Gibt eine Liste aller Nachrichten in der Queue aus – mit Queue-ID, Größe, Zeitstempel, Absender und Empfänger. Eine leere Ausgabe bedeutet: alles in Ordnung.

Details zu einer einzelnen Nachricht

postcat -q QUEUE_ID

Zeigt Header und Body der Nachricht mit der angegebenen Queue-ID an. Nützlich, um zu prüfen ob eine Nachricht legitim ist oder aus Spam-Versand stammt.

Zustellung sofort erneut versuchen

postqueue -f

Postfix versucht sofort, alle Nachrichten in der Queue zuzustellen – ohne auf den nächsten regulären Retry-Intervall zu warten.

Einzelne Nachricht löschen

postsuper -d QUEUE_ID

Alle Nachrichten aus der Queue löschen

/usr/sbin/postsuper -d ALL

Achtung: Dieser Befehl löscht unwiderruflich alle wartenden Nachrichten – legitime wie unerwünschte. Vor dem Ausführen unbedingt mit mailq prüfen, was in der Queue liegt.

Nur die deferred Queue leeren

postsuper -d ALL deferred

Löscht nur Nachrichten, die zurückgestellt wurden (temporäre Zustellfehler) – nicht die aktiv wartenden.

Queue-Größe schnell ermitteln

mailq | tail -1

Die letzte Zeile der mailq-Ausgabe enthält eine Zusammenfassung mit der Gesamtanzahl der Nachrichten in der Queue.

Artikel teilen

LinkedIn X WhatsApp