Meine Mail Queue hängt
Für alle, die mal schnell ihr Mailsystem debuggen wollen, aber nicht so genau wissen wie!
Zuerst mal checken wir, ob emails in unserer Queue stecken.
mailadmin@mailhost: mailq
oder
mailadmin@mailhost: exim4 -bp
Wenn wir schon viele emails in unserer Queue haben, wollen wir natürlich wissen wieviele.
mailadmin@mailhost: exim4 -bpc
mailadmin@mailhost: 4378
Puh, ganz schön viele emails! Jetzt wollen wir noch wissen, warum die Dinger unsere Mailqueue nicht verlassen wollen. Dazu nehmen wir von der Ausgabe aus mailq die IDs der jeweiligen mails (zB: 1PlStT-0005DJ-M2) und fragen mit dem Befehl
exim4 -v -M [Nachrichten ID]
nach dem Grund. Hier sollte man sehr schnell den Grund erkennen. Wenn wir nun den Grund für unser Problem gefunden und behoben haben, können wir die hängenden email versuchen zuzustellen. Ich würde dazu den “verbose” Mode verwenden 🙂 Bringt zwar viel Output, schaut aber hübsch aus.
mailadmin@mailhost: exim4 -qff -v
Was man nun noch machen könnte, wäre hängende email zu löschen (einzelne, alle oder email mit bestimmtem Alter)
Löschen von einzelnen hängenden emails, die Nachrichten ID bekommen wir wieder mittels mailq
mailadmin@mailhost: exim4 -Mrm [Nachrichten ID]
Löschen von allen “frozen” Emails
mailadmin@mailhost: /usr/sbin/exipick -zi | xargs exim -Mrm
Eventuell ist euer exipick wo anders, findet ihr mit
mailadmin@mailhost: which exipick
Wenn ihr aber nur email löschen wollt, die älter als 10 Tage sind dann hilft dies hier
mailadmin@mailhost: exim -bp | grep ‘[0-9][0-9]d ‘ | awk ‘{print $3}’ | xargs exim -Mrm
gefunden bei Florian Fritsch