Wenn E-Mails zu lange „frozen“ sind, also warum auch immer nicht verschickt werden können1), kriegen sie Gefrierbrand. Dann kann man sie eh wegschmeißen. Also kann man die E-Mails auch gleich löschen. Dieser Artikel bezieht sich ausschließlich auf den exim-Mailserver.
Erstmal sollte man prüfen, ob in der Queue nicht noch Mails sind, die man behalten will.
exim -bp
Wenn man wissen will, wie viele Mails gerade in der Queue sind:
exim -bpc
Mit dem folgenden Befehl werden alle noch in der Queue befindlichen Mails gelöscht.
WARNUNG: Wenn gerade ein Benutzer über das System wichtige Mails verschickt werden diese dann einfach von einem schwarzen Loch aufgesaugt und werden nie wieder gefunden. Das Problem: Der Benutzer kriegt keine Fehlermeldung und wundert sich später, warum sich niemand auf seine Bewerbung meldet.
/usr/exim/bin/exipick -zi | xargs exim -Mrm
Mit folgendem Befehl kann man exim auch dazu überreden, jetzt nochmal den Versand einzelner Mails zu probieren, nicht erst wieder in einigen Stunden.
exim -Mt <message_id>
Vorher könnte man noch per
exim -q
exim einfach nur dazu veranlassen, die Queue abzuarbeiten. Auf diese Weise verschwingen ggf. verschickbare Mails schonmal aus der Queue und sind nicht mehr in Gefahr, gelöscht zu werden.
Einzelne Nachrichten aus der Queue lassen sich mit
exim -Mrm <message_id>
löschen. Wie man sieht, ist das der Befehl, der oben einfach nur stapelweise für alle Message-Ids autmatisch aufgerufen wird. Im Umkehrschluss kann man somit auch stapelweise den Neuversand-Versuch veranlassen.2)
/usr/exim/bin/exipick -zi | xargs exim -Mt