This documentation is for Dovecot v2.x, see wiki1 for v1.x documentation.
Differences between revisions 3 and 49 (spanning 46 versions)
Revision 3 as of 2006-06-11 18:01:52
Size: 2201
Editor: TimoSirainen
Comment:
Revision 49 as of 2021-06-15 23:54:28
Size: 69
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Quota =

There are different quota backends that Dovecot can use:

 * [wiki:Quota/FS fs]: Filesystem quota enforcing.
 * [wiki:Quota/Dirsize dirsize]: The simplest quota backend. It scans all the files from mail directories to calculate the quota.
 * [wiki:Quota/Dict dict]: Store quota in a dictionary. Currently the only dictionary backend is MySQL.
 * [wiki:Quota/Maildir maildir]: Maildir++ quota.

The quota is supported as a plugin for Dovecot. There exists a plugin named "quota" which does the actual work. For reporting quota information via IMAP there exists also "imap_quota" plugin. Usually you'd enable these by adding them to the `mail_plugins` settings in config file:

{{{
protocol imap {
  mail_plugins = quota imap_quota
}
protocol pop3 {
  mail_plugins = quota
}
# In case you're using Dovecot-LDA:
protocol lda {
  mail_plugins = quota
} }}}

Most of the quota backends have a few things in common:

You can set the quota as kilobytes (named '''storage''') and/or as number of messages (named '''messages'''). Usually only the '''storage''' quota is used. Usually these can be given to the quota backend as parameters, eg.:

{{{
plugin {
  # 10MB quota limit
  quota = maildir:storage=10240
  # 1000 messages quota limit
  quota = maildir:messages=1000
  # 10MB + 1000 messages quota limit
  quota = maildir:storage=10240:messages=1000
} }}}

The above example shows how to set the same quota globally for everone. You can override this for one or all users by returning `quota` field from userdb. See UserDatabase for more information about how to set them for the userdb you're using. Here's an example using SQL userdb:

{{{
user_query = SELECT home, uid, gid, 'dirsize:storage=' || quota_bytes AS quota FROM users WHERE userid = '%u' }}}

With LDAP use something like:

{{{
# quotaStorage must be in the format mentioned above
# For example: dirsize:storage=10240
user_attrs = uid,homeDirectory,,,uidNumber,gidNumber,quotaStorage=quota

# If you have the quota already as kilobytes in LDAP, there's a kludgy way to use it directly:
user_attrs = uid,homeDirectory,,,uidNumber,gidNumber,quotaStorage=quota=dirsize:storage }}}
Moved to https://doc.dovecot.org/configuration_manual/quota_plugin/

None: Quota (last edited 2021-06-15 23:54:28 by MichaelSlusarz)