This documentation is for Dovecot v1.x, see wiki2 for v2.x documentation.

Maildir configuration

See MailboxFormat/Maildir for a complete description of how Dovecot has implemented Maildir support.

Mail location

Maildir exists almost always in ~/Maildir directory. The mail location is specified with:

mail_location = maildir:~/Maildir

Directory layout

By default Dovecot uses Maildir++ directory layout. This means that all mailboxes are stored in a single directory and prefixed with a dot. For example:

If you want maildirs to use hierarchical directories, such as:

you'll need to enable fs layout:

# v1.1+ only:
mail_location = maildir:~/Maildir:LAYOUT=fs

Control files

Dovecot stores some Maildir metadata into two control files:

Both of these files are described fully in MailboxFormat/Maildir. The important thing to remember about them however is that they shouldn't be treated the same way as index files. Index files can be deleted and rebuilt without any side effects, but if you delete control files you'll cause messages to get new UIDs and possibly lose keyword names.

If the messages get new UIDs, the IMAP clients will invalidate their local cache and download the messages all over again. If you do this for all the users, you could cause huge disk I/O bursts to your server.

Dovecot can't currently handle not being able to write the control files, so it will cause problems with filesystem quota. To avoid problems with this, you should place control files into a partition where quota isn't checked. You can specify this by adding :CONTROL=<path> to mail_location, for example:

mail_location = maildir:~/Maildir:CONTROL=/var/no-quota/%u

Index files

See MailLocation#indexfiles for full explanation of how to change the index path. For example:

mail_location = maildir:~/Maildir:INDEX=/var/indexes/%u

Optimizations

Filesystem optimizations

See "Maildir and filesystems" section in MailboxFormat/Maildir.

MailLocation/Maildir (last edited 2010-03-03 07:17:37 by TimoSirainen)