PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Cyrus] Imap Mails per Script löschen



embedded
16.03.07, 10:23
Hi!

Ich benutze Cyrus als IMAP Server und Bogofilter zur Spamerkennung. Für die Mails, die Bogofilter fälschlicherweise als "nicht Spam" erkannt hat, habe ich einen Ordner "Training" und ein Shellscript erstellt, welches alle Mails in diesem Ordner zum Lernen an Bogofilter weiterleitet. Nun möchte ich dieses Script nicht immer per Hand anstoßen müssen, und deshalb einen Cronjob dafür einrichten. Allerdings sollen die Mails in diesem Ordner nach dem Lernen gelöscht werden.

Ich denke mir, dass ich die Maildateien nicht einfach im Laufenden Betrieb aus Cyrus rauslöschen kann. Wie kann ich per Shellscript die Mails (Dateien in /var/spool/cyrus/mail .. / Training / 1., 2., 3. ..) löschen, und die Konsistenz des Servers zu beeinflussen?


Danke im Voraus

marcdevil
16.03.07, 11:52
rm /var/spool/cyrus/mail/m/user/mustermann/Training/[0-9]*.
su - cyrus "/usr/bin/reconstruct user.mustermann.Training"

oder per IMAP:


echo "001 LOGIN mustermann geheim
002 SELECT Training
003 STORE 1:99999 +FLAGS (\Deleted)
004 EXPUNGE
005 LOGOUT" | nc localhost 143

embedded
16.03.07, 13:04
super, Danke!

Roger Wilco
16.03.07, 18:02
Etwas schöner(?) geht es mit ipurge, das in Cyrus enthalten ist.