On 2/20/12 1:10 PM, Steve Campbell wrote:
The more I read about all of this, the more I'm thinking about moving to maildir format. My switchover this weekend is full of holes due to the way user's imap folders were laid out. Some had folders in their home directory and others might have folders in their /home/mail directory. Some how, Horde/Imp seemed to keep track of it. Dovecot is not doing so well.
Not sure what problem maildir will solve for you. Large mbox mailboxes under UW-IMAP are an awful bottleneck and will bring the most powerful storage subsystems I've used to their knees, but add Dovecot indexing on top and you will be surprised how much faster everything is. We're still using mbox today and if we were to change it would be to mdbox, not maildir.
I've been reading about the conversion technique to convert to maildir, but I'm wondering if I can do this based on the way our users are set up. Most are pop accounts. Our webmail is configured to read the inbox from /var/spool/mail and their imap folders from /home or /home/mail. Some have imap accounts on their desktop defined through their mail client.
When we did our conversion from uw-imap to dovecot (about 30k accounts)
we had to do a lot of clean-up work. Mail folders in the homedir needed
to be moved to ~/mail. This can be scripted: if you're using mbox
format, look for the first line of the file starting with "From ".
(note the space)
We use the uw-imap backwards compatibility option documented at http://wiki.dovecot.org/Namespaces#Backwards_Compatibility:_UW-IMAP which allows users who have specified "mail/" as their IMAP namespace prefix to see the same message folders as people who don't. This works most of the time, but we have seen some clients (old versions of Horde/IMP) which still try to create a mail/ folder, which ends up creating ~/mail/mail, and that becomes inaccessible. Fortunately, since moving to Horde 4/IMP 5 it hasn't been a problem. You might want to keep an eye out for this if you go the backwards compatibility route.
We also kept (and still keep) inboxes in /var/spool/mail (which is actually a link tree, pointing to other filesystems.) We had enough users that we needed to do "shard" directories to prevent directory lock contention from bringing everything to a crawl, e.g. jsmith's mail is in /var/spool/mail/j/s/jsmith. Dovecot nicely supports this as a config option.
RH/Centos seems to want me to switch to postfix since most of the documentation I find doesn't mention Sendmail. My filesystem is laid out to handle Inboxes in /var/spool/mail and imap folders in /home(/mail) and these aren't logical volumes but true partitions, so I've got to consider this as I make any changes.
We still use sendmail here, which calls procmail for delivery, mostly for historical reasons - many users have complex .procmailrc files. If I had to start over I'd certainly give postfix a shot.
I also run pop using dovecot, so I'll need to figure all this out.
Make sure you've read http://wiki.dovecot.org/Migration/UW , particularly for the pop3_uidl_format option, so clients do not re-download everything when you switch from UW -> Dovecot.
Cheers, Jim Lawson