Problem:
Aus irgendeinem Grund sammeln sich Mails in der Queue. Meist ausgelöst durch eingehende/ausgehende Spam-Mails, eingehende Bounces, oder Mail-Loops, etc.
Diese Mails will man aus der Queue löschen, andere hingegen bevorzugt abarbeiten lassen.
Lösung:
Dazu gibt es inzwischen drei Lösungen:
- Webmin: die aktuelle Webmin-Version bringt eine komfortable Weboberfläche, mit der man die gesamte Mail-Queue (auch von Qmail) ansehen und einzelne Mails löschen kann.
- qmHandle: ein in Perl geschriebenes OpenSource-Programm ohne große Installation für die Commandozeile.
- mailqueuemng: seit Plesk 9.irgendwas liefert Parallels eine modifizierte Version von qmHandle mit aus.
Da man zu Webmin nicht viel erklären muß, widme ich mich jetzt nur noch qmHandle / mailqueuemng:
Installation von qmHandle:
Die aktuelle Version auf sourceforge.net kontrollieren!
cd /usr/local/src wget http://heanet.dl.sourceforge.net/sourceforge/qmhandle/qmhandle-1.3.2.tar.gz tar xzf qmhandle-1.3.2.tar.gz cp qmhandle-1.3.2/qmHandle /var/qmail/bin/. chmod 700 /var/qmail/bin/qmHandle
Nun laden wir die Datei nochmal in einem Texteditor und suchen nach $stopqmail
. Dieser steht auf den svc
. Für Plesk stimmt diese Angabe nicht und muss auf /etc/init.d/qmail
stehen. Also ändern wir die Kommentarzeichen so ab, dass qmHandle
die richtigen Start-/Stop-Scripte nutzt.
Aufruf und Parameter:
Lediglich ein kurzer Auszug. Die vollständige Hilfe erhält man mit einem Aufruf ohne Parametern.
Hilfe | qmHandle |
local Queue-Liste | qmHandle -L |
remote Queue-Liste | qmHandle -R |
Mail anzeigen | qmHandle -m[MessageNumber] |
Mail löschen | qmHandle -d[MessageNumber] |
mailqueuemng
Die Plesk-Version basiert auf qmHandle-1.2.0. Sie wurde von Parallels aber optimiert und besser auf deren Plesk-Eigenschaften abgerichtet. Der Aufruf findet sich unter /usr/local/psa/admin/bin/mailqueuemng
. Die Grund-Parameter sind identisch es wurden allerdings einige nützliche Parameter hinzugefügt die nicht im Hilfe-Text auftauchen:
--start-date:Zahl --end-date:Zahl |
Der Queue-Eintrag soll älter/jünger als Zahl sein. Zahl Angabe in Unix-Sekunden. |
--min-size:Zahl --max-size:Zahl |
Der Queue-Eintrag soll kleiner/größer als Zahl sein. Zahl Angabe in Bytes. |
--min-age:Zahl --max-age:Zahl |
Der Queue-Eintrag soll älter/jünger als Heute-Zahl sein. Zahl: Angabe in Sekunden. |
--sender:String --recipient:String |
Der Queue-Eintrag ist an/von String. String: muss in der Adresse enthalten sein. |
--sort:String --rsort:String |
Sortierung der Queue. String: subject|sender|recipients|date|size|age. |
--remove |
Die so selektierte Liste kann dann mit diesem zusätzlichen Parameter gelöscht werden. |