[ kibitzing since this is one of my little hobby-horses ] On Sat, Apr 24, 2004 at 09:33:27AM +0200, Andreas Aardal Hanssen wrote: > > An option that says "automatically purge deleted messages" certainly has > some scratch-head value; I believe we are better off without it :-).
I don't believe this belongs in an IMAP server, for sure. > However, > > a script that periodically removes deleted messages, is very feasable and > easy to write as a daily cron job: > > for k in `ls /home`; do > if [ -d $k/Mail ]; then > find $k/Mail -type f | egrep '2,[A-Z]+?T' | xargs echo rm > fi > done Unfortunately that has the effect of concentrating this effort at a single resource point. Running through all mailboxes on a server at a particular time of day to do *anything* is very resource-intensive. A slightly better approach would be to have a mailbox maintenance daemon that knows how to parcel the load throughout the day (or week, or month). Operations that affected any folder could notify the maintenance daemon (a la comsat). OTOH, one of my thoughts (and it's on the to-do list on my own little mail delivery agent) is the notion of a "rolling folder". The local delivery agent is configured such that it fills the folder to a certain configurable storage level (in terms of number of messages, total folder size, message age, or some combination of the above). At new-message delivery time, the old folder contents are rolled out to make room (according to these parameters) for the new one. This sort of thing would provide for, for example, a sliding window in a spam folder, where the owner could look at some recent spam filings now and then, but not otherwise care about what happens to the folder contents. I should add that this notion seems very controversial in some circles. At any rate: combine this local delivery function with an IMAP server "redelivery" notion, and you'd have the desired effect. (A redelivery function would invoke an external local delivery agent when filing a message into a folder for which that function had been enabled.) mm
