On Jul 27, 2009, at 4:55 AM, Guy wrote:
We have the users total quota in MySQL along with a number of grace days (counts up to 7). The amount of space used is stored in maildirsize in the users maildir. What we currently some bits of voodoo which allow the user to go up to 200% of their quota. When they go over 100% they start receiving warnings and their grace days start counting down. If the account is still using over 100% of quota after the 7 days then the 100% quota is enforced so no new mail will be accepted. So is something like this "burst" quota possible in the Dovecot
plugin?
Well, you could probably do something with quota_warning settings.
Maybe have the "quota" setting returned from userdb lookup (MySQL I
suppose?) so that it initially returns "quota=maildir:noenforcing" and
then when user goes over 100% quota have the script start the day
counting, and when it reaches 200% drop the ":noenforcing" part.
Although in that setup it's still possible for the same session to
keep using over 200% usage. Also I've no idea if quota_warning
settings can handle >100% values.
Another thing I thought of was to have two quota roots. The first one
maildir:noenforcing and the second one enforcing quota with limit
being 200% of the first one's quota. That would guarantee that user
can't go over 200%, but I don't really know how clients show multiple
quota roots.