Implementing secondary quota w/ "Archive" namespace

Fred Turner fred at
Tue Sep 20 18:28:32 UTC 2016

Hello folks—

My first post, so please be gentle… :-)

I have a client email server using SSDs for primary user mailboxes, but since the number of users keeps growing and they all seem to be very reluctant to delete anything, I’ve implemented an “Archive” namespace that stores its mailboxes on a larger HD RAID. The idea is that, as the users approach their quota, they move messages to the Archive mailboxes to alleviate space in their primary Inbox namespace. This secondary storage part is working well, but I’m having trouble w/ getting the quotas to work right. Here are the basics of the setup:

Mac Pro Server 2012
Mac OS X Server 10.6.8
Dovecot 1.1.20apple0.5

Here is how I’ve configured my namespaces (during testing):

namespace private {
separator = /
prefix =
inbox = yes

namespace private {
separator = /
prefix = testArchive/
location = maildir:/Shared Items/MailArchive/%u
subscriptions = yes

My quota research has led me to try this:

quota = maildir:User quota:ns=

quota2 = maildir:ns=testArchive/
quota2_rule = *:storage=20G

The first line is already in the default config, with the exception of the added “:ns=“ at the end. The 2nd line in the examples I saw had a middle component w/ the quota name, but when I tried that, like so:

quota2 = maildir:Archive quota:ns=testArchive/

my server fails and shows this in the logs:

> Fatal: IMAP(*): Quota root test backend maildir: Unknown parameter: ns=testArchive/

Any idea why it doesn’t like that? Also, do I need to add a quota_rule for the primary quota? It does not have one normally in the Mac OS X Server config…

Thus far in my testing, I’ve been able to get the 2 quotas to show up in Roundcube and Mac It’s a little messy…the first shows up as “User quota”, the 2nd as “ns=testArchive/“, presumably because I cannot leave the description field in there.

Unfortunately, both quotas show the same amount of space in use. If I drop the primary quota to a mere 4MB for testing, and if I have 5.2MB of messages in a testArchive folder, the space used for “User quota” shows as 5.2MB (>100%), as does the “ns=testArchive/“ quota (which is 20GB). In actuality, the Inbox namespace is really only using a few KB— the 5.2MB is in the testArchive namespace. This means that I cannot move messages between either set of namespaces, and new messages are not delivered. So, the quota trouble here is negating the whole point of having the Archive namespace...

Is there a way to get Dovecot to “see” the 2 quotas as unique/discrete? It seems like I’m close to accomplishing what I want, but just can’t quite get it to cooperate. And that “Unknown parameter” error is bewildering. Any ideas?


P.S. I can add my Dovecot config to the thread upon request…didn’t want to make this initial message even longer.

More information about the dovecot mailing list