LDAP Quota Limits & Warnings

Leander Schäfer info at netocean.de
Fri Jan 30 14:03:09 UTC 2015


I found this on the dovecot wiki:

The following limit names are supported:

  *

    *storage*: Quota limit in kilobytes, 0 means unlimited.

  *

    *bytes*: Quota limit in bytes, 0 means unlimited.

  *

    *messages*: Quota limit in number of messages, 0 means unlimited.
    This probably isn't very useful.

  *

    *backend*: Quota backend-specific limit configuration.

  *

    *ignore*: Don't include the specified mailbox in quota at all.


As I understood it, all 5 limit categories are valid to use with maildir 
format while only "storage" and "messages" are valid to use with dmbox 
format, right?
Also the "ignore" limit may appear more than one time for a user - like 
Trash:ignore and Spam:ignore, right?


So I assumed following should work - and it does - except for "ignore" - 
even though LDAP does not hold multiple values for it - only a single 
one for each limit:

user_attrs = [...] mailQuotaStorage=quota_rule=*:storage=%$, 
mailQuotaMessages=quota_rule2=*:messages=%$, 
mailQuotaIgnore=quota_rule3=*:ignore=%$

pass_attrs = [...] mailQuotaStorage=userdb_quota_rule=*:storage=%$, 
mailQuotaMessages=userdb_quota_rule2=*:messages=%$, 
mailQuotaIgnore=userdb_quota_rule3=*:ignore=%$



And unfortunately /var/log/maillog tells me:

dovecot: imap(abuse at netocean.local): Error: user abuse at netocean.local: 
Initialization failed: Failed to initialize quota: Invalid quota root 
quota: Invalid rule *:ignore=Trash: Unknown rule limit name: ignore


Yet /var/log/debug.log sounds a bit more promising ... but then again 
not really ...

dovecot: imap: Debug: Added userdb setting: 
mail=maildir:/usr/local/www/default/mail/user at mydomain.tld
dovecot: imap: Debug: Added userdb setting: 
plugin/quota_rule=*:storage=1048576
dovecot: imap: Debug: Added userdb setting: plugin/quota_rule2=*:messages=10
dovecot: imap: Debug: Added userdb setting: 
plugin/quota_rule3=*:ignore=Trash
dovecot: imap(abuse at netocean.local): Debug: Effective uid=2110, 
gid=2110, home=/var/vmail/user at mydomain.tld/mail
dovecot: imap(abuse at netocean.local): Debug: Quota root: name=User quota 
backend=maildir args=
dovecot: imap(abuse at netocean.local): Debug: Quota rule: root=User quota 
mailbox=* bytes=1073741824 messages=0
dovecot: imap(abuse at netocean.local): Debug: Quota rule: root=User quota 
mailbox=* bytes=1073741824 messages=10
dovecot: imap(abuse at netocean.local): Debug: Quota rule: root=User quota 
mailbox=* bytes=1073741824 messages=10




Additionally, if one of the two working quotas (storage & messages) is 
exceeded than Dovecot sends out a warning from this setting:

plugin {
   quota_warning = storage=90%% quota-warning 90 %u
   quota_warning2 = storage=75%% quota-warning 75 %u
   # What message to send to IMAP clients (and SMTP senders) when quota 
is exceeded?
   quota_exceeded_message = Quota exceeded, please go to 
http://MyDomain.TLD for instructions on how to fix this.
}

No my question is how to provide two different warnings.

One for storage like: Sorry, you're mail storage is full. Please delete 
some.

And a second for messages like: Sorry, you've too many messages. Please 
delete some.



Thanks & Best Regards
Leander




More information about the dovecot mailing list