Provided by: maildrop_2.9.3-2build1_amd64 bug


       maildirquota - voluntary Maildir quotas


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


       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.

       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.

       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.


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


       Sam Varshavchik


        1. maildrop(1)

        2. maildirmake(1)

        3. maildropfilter(5)

        4. deliverquota(8)