Good morning, I am trying to add quota storage on mysql following the guide in the wiki http://wiki.dovecot.org/Quota/Dict, and I am having some problems. My setup works fine for the newly created accounts, and correctly increases/decreases quota when necessary. The wrong part seems to be the recalculation. It seems to me that the system doesn't count the real occupation when it has to recreate the quota entry for a username. This is the case:
.- User test@testing.com has a quota 200000 bytes, I delete the entry of the database for user, and then when I do the: echo 'x GETQUOTAROOT Inbox' | USER=test@testing.com /usr/sbin/dovecot --exec-mail imap
.- These are ALL the queries I see, I am missing the userdb queries to get the real quota. INSERT INTO quota_dovecot (bytes,username) VALUES ('0','test@testing.com') ON DUPLICATE KEY UPDATE bytes='0' INSERT INTO quota_dovecot (messages,username) VALUES ('0','test@testing.com') ON DUPLICATE KEY UPDATE messages='0' COMMIT SELECT bytes FROM quota_dovecot WHERE username = 'test@testing.com' SELECT messages FROM quota_dovecot WHERE username = 'test@testing.com'
.- And the result also seems to indicate that it's not reading the quota from userdb
- PREAUTH [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS QUOTA] Logged in as test@testing.com
- QUOTAROOT "Inbox" "user"
- QUOTA "user" (STORAGE 0 1048576) x OK Getquotaroot completed.
It seems to me that dovecot --exec-mail doesn't do the mysql lookups to get the usersdb. Note: attached are my dovecot -n output and the relevant .conf files