Hi every one,
A month ago, I contributed some code to James to handle quotas :
- At the mailbox level : it means user mailboxes can not exceed the
size in bytes and message count you fixed for it.
- At the SMTP level : If you send a mail to a full mailbox, you have a
matcher to answer something like "Hey, your sending this mail to an over
quota mailbox"
- At the IMAP level : A user can perform IMAP commands in order to
check his quotas
- At the administration level : you can administrate quotas threw JMX
using the cli tool.
- At the configuration level : you can choose the implementation you want.
I didn't mentioned it earlier on this list so, it is time to do it !
Just note that if you deploy the trunk you will need a new configuration
file : quota.xml. Sample configuration can be found there :
james-project/server/app/src/main/resources/quota-template.xml . I
mention it as I answered and question on this today...
Here follows a short note on configurations :
- There is a distinction between current values and maximum allowed
values. This means you can use different backends for both. Eg : (not
implemented but allowed by this distinction) LDAP for max values and the
current values persisted elsewhere.
- You may, with a few configuration work, use your own QuotaRoot
resolver, and group mailbox for applying quotas using your own policies.
eg : not anymore by people, but by work unit.
The interesting part is on current value calculation :
- You can lazy compute it and store it in RAM.
- Or you can update it and maintain the count in a DB. For now only
Cassandra is available.
We might want a tool to recalculate quotas...
The advantage from the previous system (mailets) is that it is fast :
there is at most one quota calculation, depending on the choices you
made, the the result can be retrieved either from the data base or from
the RAM.
Benoit
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]