[Dovecot] how to setup different quota for multiple namespaces

Andreas Oster aoster at novanetwork.de
Wed Jan 16 11:29:54 EET 2013


Am 16.01.2013 09:55, schrieb Steffen Kaiser:
> On Fri, 11 Jan 2013, Andreas Oster wrote:
> 
>> Am 10.01.2013 15:30, schrieb Steffen Kaiser:
>>> On Wed, 9 Jan 2013, Andreas Oster wrote:
>>>
>>>> namespace {
>>>>  type = private
>>>>  separator = .
>>>>  prefix = Archives.
>>>>  location = maildir:/var/vmail/archive/%Ln/Maildir
>>>>  subscriptions = yes
>>>>  list = children
>>>>  inbox = no
>>>> }
>>>
>>>> I configured the quota plugin in the following way:
>>>
>>>> plugin {
>>>>        quota = maildir:User quota:ns=
>>>>        quota2 = maildir:Archive quota:ns=Archives.
>>>>        quota_rule = *:storage=1G
>>>>        quota_rule2 = ns=Archives.:ignore
>>>> }
>>>
>>>> unfortunately this does not give the desired result. Folders under the
>>>> Archives namespace use the same quota as INBOX.
>>>
>>> If I understand the Wiki correctly, you need to write:
>>>
>>>         quota2_rule = *:storage=10G
>>>
>>> The "quota2"_rule# settings apply to the "quota2" root by
>>> namespace. Whereas the "quota"_rule# settings apply to the default, the
>>> first quota root.
> 
>> unfortunately this does not work. when I configure it the way you have
>> proposed the 10G quote will be assigned to the base namespace (INBOX)
>> the Archives namespace has no quota assigned.
> 
> I tried this setup:
> 
> namespace {
>   type = private
>   separator = .
>   prefix = Archive.
>   location = mdbox:/home/%u/archive
>   #subscriptions = no
>   #list = children
> }
> 
> plugin {
>   quota = dict:User quota::proxy::quota
>   quota2 = dict:Archive quota:ns=Archive.:proxy::quota
>   quota2_rule = *:storage=1048576
> }
> 
> telnet localhost 143
> 1 login .. ..
> 2 list "" *
> * LIST (\HasNoChildren \Sent) "." "Sent"
> * LIST (\HasNoChildren \Trash) "." "Trash"
> * LIST (\HasNoChildren \Junk) "." "Junk"
> * LIST (\HasNoChildren \Drafts) "." "Drafts"
> * LIST (\HasNoChildren) "." "INBOX"
> * LIST (\Noselect \HasChildren) "." "Archive"
> * LIST (\HasNoChildren) "." "Archive.Test"
> 2 OK List completed.
> 2 getquotaroot ""
> * QUOTAROOT "" "User quota" "Archive quota"
> * QUOTA "User quota" (STORAGE 259 7540259)
> * QUOTA "Archive quota" (STORAGE 2109 1048576)
> 2 OK Getquotaroot completed.
> 
> So the configuration is running in Dovecot v2.1.13. The value of "User
> quota" comes from LDAP. What I did not tested was, if the quota is
> actually calculated and tracked in the database.
> 
> Kind regards,
> 
> -- Steffen Kaiser
> 

Hello Steffen,

thank you for creating a test setup. I will try to implement it the way
you did it, but I will stay with maildir.

Meanwhile I have recognized another issue, this time with our webmail
system (roundcube). It seems that it is not able to handle multiple
namespaces so I might need to stay with the single private namespance setup.

Thank you very much for your kind help.

best regards

Andreas






More information about the dovecot mailing list