Bei Webmin/Virtualmin bleiben alle Spam-Email-Nachrichten im Spamordner und müssen manuell vom User gelöscht werden, was wohl die wenigsten tuen werden. Ebenso verhält es sich für den Papierkorp.
Hier will ich eine Möglichkeit zeigen, wie man ältere Emails aller User gleichzeitig per Command-Shell löschen kann und ein Script erstellt, welches per Cron-Job ausgeführt werden kann und regelmäßig ältere Nachrichten aus dem Spam-Ordner und Papierkorp aller User löscht.
Will man alle Nachrichten, die älter als Beispielsweise 60 Tage sind, automatisch löschen, kann man so über die Shell (als Root-User) erreichen:
find /home/*/*/*/Maildir/cur/ -type f -mtime +60 -exec rm {} \;
Alle gesendeten Nachrichten nach 60 Tagen löschen:
find /home/*/*/*/Maildir/.Sent/cur/ -type f -mtime +60 -exec rm {} \;
Alle Entwürfe, die älter als 60 Tage sind, löschen:
find /home/*/*/*/Maildir/.Drafts/cur/ -type f -mtime +60 -exec rm {} \;
Alle Spam-Nachrichten, die älter als 5 Tage sind, löschen:
find /home/*/*/*/Maildir/.spam/cur/ -type f -mtime +5 -exec rm {} \;
Alle Nachrichten im Papierkorp, die älter als 5 Tage sind, löschen:
find /home/*/*/*/Maildir/.Trash/cur/ -type f -mtime +5 -exec rm {} \;
Ich habe folgendes Script geschrieben, welches alle Nachrichten im Spam-Ordner und Papierkorp aller User löscht, wenn diese älter als 5 Tage sind.
#!/bin/bash
find /home/*/*/*/Maildir/.spam/cur/ -type f -mtime +5 -exec rm {} \;
find /home/*/*/*/Maildir/.Trash/cur/ -type f -mtime +5 -exec rm {} \;
Dieses habe ich delAllUsersSpamTrash
genannt und unter /usr/local/sbin/
gespeichert. chmod +x /usr/local/bin/delAllUsersSpamTrash
macht das Script ausführbar. Dieses kann nun manuell ausgeführt werden und auch im Webmin als Cron-Job eingerichtet werden. Bei mir wird das Script immer um 24 Uhr ausgeführt.