[Dovecot] keep users from deleting email
Ed W
lists at wildgooses.com
Thu Apr 17 16:18:41 EEST 2008
>> You definitely need to be aware of the fact that one of the downsides
>> of mbox is performance and resource demands as the mbox files grow.
> What do you consider a large mbox? We have users with single mbox
> files of 3G and their mail loads up fine. We are using Seamonkey's
> email client and it makes a local index file of all the message
> to/from/subject/date/etc so it loads mail very quickly, pretty much
> instantaneous. One thing I don't like about Maildir is that it keeps
> each message as a seperate file, so you'll end up with directories
> with 20k+ files and run into glob problems, and with ext3, you have
> all these sub 4kb messages still taking up a 4k block on the disk,
> wasting disk space.
>
Indeed, but if your mbox gets corrupted then you loose 3G of email... If
you delete the first message in the 3G store then you need to rewrite
the whole store to free up the space (Dovecot has some optimisations to
simply mark messages dead without removing them from the mbox.)
Maildir has different performance characteristics from Mbox and it's
best to be aware of the performance implications of both before choosing
one. For ext3 it seems like a good idea to enable dir_index option on
the filesystem though. (I have quite a few folders with 60K+ messages
on ext3)
It may also be worth paying Timo to look again at single instance
storage and see if he can code a solution for you? This way you can
store multiple copies of messages without penalty...?
I would have thought that the best option would be to use something like
BCC recipient maps into an MBox folder (for the archive), then look at
either the gzip plugin for dovecot or simply bzip the folders up one a
week/month (etc) and rotate them out for a new folder. Mbox is probably
good for a write only archive folder and will zip up nicely and can be
burned off to some permanent archive media periodically.
Good luck
Ed W
More information about the dovecot
mailing list