[Exim] Courier-IMAP and Maildir++ quotas

Top Page
Delete this message
Reply to this message
Author: Andreas M. Kirchwitz
Date:  
To: exim-users
Subject: [Exim] Courier-IMAP and Maildir++ quotas
    Hello Exim fans!

I use Exim with Maildir support, and Courier-IMAP for IMAP access.
All mail folders are owned by a common UID/GID, so that users cannot
access their mail directly (only via POP or IMAP).

Works perfectly fine, except for the quotas.

File system quotas don't make any sense with a common UID/GID.

While Exim leaves it to the administrator how to implement
MTA-imposed quotas, Courier-IMAP comes with Maildir++ quotas
(that special "maildirsize" file).

src/transports/appendfile.c doesn't look like there's any
support for Maildir++ quotas (maildirsize) in Exim. And it's,
well, uh... not very "modular". ;-)

Maybe there's already a patch for support of Maildir++ quotas?

Or anyone found a way in the configuration file to parse
the "maildirsize" file and set "quota" for that transport
accordingly?

Currently, I use a proprietary quota file (something like
"quota=4000K threshold=80%") quite similar to "maildirsize"
in the user's maildir directory, but I've no idea how to
parse the special format of a "maildirsize" file:

| The quota definition is a list, separate by commas. Each member
| of the list consists of an integer followed by a letter, specifying
| the nature of the quota. Currently defined quota types are 'S' - total
| size of all messages, and 'C' - the maximum count of messages in the
| maildir. For example, 10000000S,1000C specifies a quota of 10,000,000
| bytes or 1,000 messages, whichever comes first.
|
| All remaining lines all contain two integers separated by a single
| space. The first integer is interpreted as a byte count. The second
| integer is interpreted as a file count. A Maildir++ writer can add
| up all byte counts and file counts from maildirsize and enforce a
| quota based either on number of messages or the total size of all
| the messages.


[excerpt from http://www.inter7.com/courierimap/README.maildirquota.html]

Suggestions are welcome! ;-)

    Greetings, Andreas