Ein wenig zu Postfix und der Mailqueue

Postfix ist ein weit verbreiteter Mail Transfer Agent (MTA) der auch bei mir in Benutzung ist. Seltsamerweise ist Email eine der komplexesten Dienste auf einem Server. Daher kann es durchaus vorkommen, dass etwas nicht rund läuft. Hier soll in einem kurzen How-To die Mailqueue von Postfix behandelt werden. Für mich soll das hier so etwas wie ein Spickzettel sein denn der Umgang mit der Mailqueue ist alles andere als intuitiv und offensichtlich. Postfix sammelt dort alle Mails die eintreffen oder versandt werden sollen die aus welchen Gründen auch immer nicht sofort abgearbeitet werden können. Die aktuelle Mailqueue kann man sich mit mailq anzeigen lassen und sie sollte eigentlich so aussehen:

# mailq
Mail queue is empty

Bei längeren Ausgaben kann man sich die Mailqueue mit less anzeigen lassen:

mailq | less

Sollte etwas schief laufen so erhält man dort jedoch eine mehr oder minder lange Aufzählung an Emails die noch nicht ausgeliefert wurden. Jede Mail hat hierbei als eine einmalige ID eine Hexadezimalnummer.

# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
7C0692B82804* 22733 Mon Feb 8 16:15:03 user1@example.com
user2@example.com

-- 22 Kbytes in 1 Request.

Nun gibt es verschiedene Befehle mit der man die Mailqueue beeinflussen kann. Zunächst einmal kann man die komplette Mailqueue löschen:

postsuper -d ALL

oder nur eine einzelne Email:

postsuper -d ID

entfernen.

Man kann auch Postfix dazu zwingen alle Mails in der Mailqueue auszuliefern:

postqueue -f

oder nur für einzelne Mails:

postqueue -i ID

Zur Fehlersuche kann man sich die Logs mit pflogsumm analysieren lassen. Installiert wird das mit:

apt-get install pflogsumm

Aufgerufen werden kann das Tool mit:

pflogsumm -u 5 -h 5 --problems_first -d today /var/log/mail.log | less

Es wird eine längere Ausgabe aller geloggter Ereignisse rund um Postfix ausgegeben.

Möchte man den MTA im laufenden Betrieb monitoren so erreicht man das über:

tail -f /var/log/mail.log

tail wird hier live die Änderungen in dem Logfile anzeigen. Beenden dann mit CTRL-c.

kais-universum.de