MAILDIRQUOTA(7)             Double Precision, Inc.             MAILDIRQUOTA(7)



NAME
       maildirquota - voluntary Maildir quotas

SYNOPSIS
       maildirmake {-q} {10000000S} {./Maildir}

DESCRIPTION
       maildrop has a manual quota enforcement implementation that does use
       the quota facilities of the host operating system (filesystem-based
       quotas). This is an option that is set at configuration time, and may
       be disabled.

       Using filesystem quotas sometimes leads to problems. After a hard quota
       is hit, most commands issued by mail clients fail, including some
       commands that poorly-written mail software may not expect to fail, and
       therefore be unable to gracefully handle the unexpected failure.

       With manual quotas, the only operations that fail are the ones that
       most mail clients expect to fail, when the mailbox is full. However,
       filesystem-based quotas cannot be used in some situations, such as
       virtual mailboxes. If this experimental feature is enabled, approximate
       quota enforcement can be implemented by maildrop or deliverquota to
       whatever extent it's possible to do so. Quotas are enabled by the -q
       option to maildirmake. Both maildrop and deliverquota will observe any
       maildirmake-requested quota.

   LIMITATIONS
       This quota mechanism will only work as long as maildrop (or
       deliverquota) are the only applications that deliver messages to the
       maildir, or as long as other applications implement the same quota
       enforcement mechanism. The quota enforcement mechanism is described
       separately in the README.maildirquota.html file in the source code
       distribution.

       Quota enforcement will still work, to some extent, if there are other
       applications that deliver or modify messages in the maildir. However,
       quota enforcement may not kick in immediately when the maildir goes
       over quota, in fact the maildir can go over quota by a noticeable
       amount. But eventually, as long as maildrop or deliverquota are
       responsible for delivering the majority of messages, quota enforcement
       will kick in. Also, other sources of messages may also result in
       noticeable performance degradation, because quote recalculation will
       become noticeably more expensive.

       Also keep in mind that this quota mechanism is generally useless if
       mail recipients have direct access to their maildirs.

       Finally even under the best conditions this quota enforcement does have
       a small chance of a race condition where a maildir will go over quota
       by some amount. maildirs are designed for speed, and this quota
       implementation was designed to have as little additional overhead as
       possible, compared to regular maildirs. To enforce an exact quota you
       would have to use some kind of a locking facility, which will impose a
       drastic performance degradation on the overall maildir performance. A
       decision has been made to avoid locking, with the only negative side
       effect being a possibility of going over quota in very low probability
       situations.

       A way to minimize the risk of going over quota is to set reasonable
       quotas, in relation to maximum message sizes supported by your mail
       server. If you set your maildir quota to five gigabytes, for example,
       it makes very little sense to configure your mail server to accept
       messages up to three gigabytes in size. Your maildir quota should be
       chosen so that it makes sense when compared to the maximum message size
       allowed by your mail server.

   FOLDERS
       This quota implementation is compatible with a popular extension to
       maildir which defines individual mail folders within a single maildir.
       However, in order to create a compatible folder, you MUST use the
       maildirmake command that comes with maildrop, and you MUST use the -f
       option to maildirmake, giving the name of the folder. Do not use
       maildirmake and specify the directory name of the maildir folder. Quota
       enforcement will not work if you do that.

SEE ALSO
       maildrop(1)[1], maildirmake(1)[2], maildropfilter(5)[3],
       deliverquota(8)[4].

AUTHOR
       Sam Varshavchik
           Author

NOTES
        1. maildrop(1)
           [set $man.base.url.for.relative.links]/maildrop.html

        2. maildirmake(1)
           [set $man.base.url.for.relative.links]/maildirmake.html

        3. maildropfilter(5)
           [set $man.base.url.for.relative.links]/maildropfilter.html

        4. deliverquota(8)
           [set $man.base.url.for.relative.links]/deliverquota.html



Courier Mail Server               04/04/2011                   MAILDIRQUOTA(7)
