Provided by: maildrop_2.7.1-3_amd64 

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 08/25/2013 MAILDIRQUOTA(7)