Wissen

Qmail Queue löschen – Mails aus der Queue löschen – Anleitung

HowTo: Qmail Queue prüfen und eMails aus der Queue entfernen

Problem: Nach einem Angriff auf dem Mailserver Qmail haben sich Mails in der Mail-Queue angesammelt. Diese Emails sollen nun gelöscht werden. Leider gibt es von Qmail selbst keine Funktion um die Mails schnell und vor allem ohne Dirty Tricks vom Server, bzw. aus der Queue zu löschen.

Anleitung: Mails sicher aus der Qmail Queue entfernen

Hierfür ist es notwendig ein zusätzliches Programm auf dem Server zu installieren, auf dem sich auch der Qmail-Mailserver befindet.

Doch bevor wir starten hier ein kleiner Linux Befehl mit dem ihr testen könnt, wie viele Mails sich derzeit in der Mail Queue befinden:

/var/qmail/bin/qmail-qstat

Die Ausgabe sollte wie folgt aussehen:

messages in queue: 512
messages in queue but not yet preprocessed: 5

Dies bedeutet, dass der Mailserver noch 512 in der Queue hat, welche nicht versendet werden konnten. Dies kann unterschiedliche Gründe haben. z.B. Empfänger existieren nicht oder ähnliches!

5 Emails wurden noch nicht vorbereitet für das Versenden!!

Qmail Log ausgeben: tail –f /var/log/mail.log
Plesk maillog ausgeben: tail -f /opt/psa/var/log/maillog

Das Programm, welches ich Euch empfehle um die Queue zu bereinigen nennt sich: Qmail-Remove

Um Qmail-Remove zu installieren sind folgende Schritte unter Debian nötig:

Am besten wechselt ihr nun in das tmp Verzeichnis des Servers!

Schritt 1: Qmail-Remove Download

wget http://www.linuxmagic.com/opensource/qmail/qmail-remove/qmail-remove-0.95.tar.gz

Dies ist die momentan aktuelle Version! Ihr solltet aber quer checken, ob es schon eine neuere Version gibt!!!

Schritt 2: Programm entpacken

tar -zxvf qmail-remove-0.95.tar.gz

Jetzt solltet ihr in das entpackte Verzeichnis wechseln!!

Schritt 3: Qmail Remove einrichten

make
make install

Damit ist die Installation abgeschlossen!
Bevor ihr jedoch das Tool das erste mal nutzt, müsst ihr noch das “yanked” Verzeichnis anlegen!

Schritt 4: Yanked Verzeichnis generieren!

mkdir /var/qmail/queue/yanked

So, nun ist Qmail Remove fertig eingerichtet und kann verwendet werden!

Schritt 5: Mit Qmail Remove die Queue löschen!

Hierzu gibt es folgenden Befehl:

qmail-remove [Optionen]

Hier ein kleiner Auszug aus den verfügbaren Optionen:

-e use extended POSIX regular expressions

-h, -? this help message

-i search case insensitively [default: case sensitive]

-n limit our search to the first bytes of each file

-p specify the pattern to search for

-q specify the base qmail queue dir [default: /var/qmail/queue]

-r actually remove files, without this we’ll only print them

-s specify your conf-split value if non-standard [default: 23]

-v increase verbosity (can be used more than once)

-y directory to put files yanked from the queue [default: /yanked]

-X modify timestamp on matching files, to make qmail expire mail is the number of seconds we want to move the file into
the past.specifying a value of 0 causes this to default to (604800)

-x modify timestamp on matching files, to make qmail expire mail is a date/time string in the format of output of the
“date” program.

Bevor es jedoch los geht, sollte der Mailserver über folgenden Befehl gestoppt werden:

/etc/init.d/qmail stop

So könnten dann die Befehle aussehen, welche die Mails in der Queue in den Yanked Ordner verschieben:

qmail-remove -r -p

qmail-remove -i -p failure notice –r

Das Programm verschiebt nun alle Mails aus der Queue!

Nach der Aktion nicht vergessen den Mailserver wieder zu starten!!

/etc/init.d/qmail start

Jetzt sollten alle Mails in der Queue gelöscht bzw. verschoben worden sein!

So, und nun für alle, welche die Anleitung bis hier gelesen haben, die Quick and Dirty Lösung zum einfachen Löschen der Mails! Hier kann aber nichts rückgängig gemacht werden, bzw. kann auch nichts beim löschen aussortiert werden!

/etc/init.d/qmail stop
find /var/qmail/queue/mess -type f -exec rm {} \;
find /var/qmail/queue/info -type f -exec rm {} \;
find /var/qmail/queue/local -type f -exec rm {} \;
find /var/qmail/queue/intd -type f -exec rm {} \;
find /var/qmail/queue/todo -type f -exec rm {} \;
find /var/qmail/queue/remote -type f -exec rm {} \;
/etc/init.d/qmail start


Tags:

  • mailq mails löschen
  • Printer Queue leeren
  • qmail queue
  • plesk mails löschen
  • qMail-Queue in der Kommandozeile verwalten

Ähnliche Artikel

2 Kommentare

  1. Besten Dank für den Artikel, bei mir sind über Nacht 90.000 Mails mit nicht existierenden Usern in der Queu gelandet…

    Weiter so :)

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Schaltfläche "Zurück zum Anfang"