Have you tried concat'ng the data in yourMySQL statement?
Eg. user_query = SELECT home, uid, gid, concat('maildir:storage=', quota_kb,':ignore=Trash') AS quota FROM users WHERE userid = '%u' An interesting thought indeed. I gave it a shot, but from what I can tell, setting quota in the query has no effect on the quota setting from the plugin block.
so that leaves me with 3 questions:
- Is there a way define per user quotas? and the original question:
- Is Dovecot's maildir quota support currently broken, or am I setting it up wrong? I am frequently getting quotas returned that do not match reality.
Current dovecot.conf: protocols = imap imaps pop3 pop3s disable_plaintext_auth = no login_greeting = amigo.net ready. mail_location = maildir:%h/Maildir namespace private { separator = . prefix = INBOX. inbox = yes hidden = no } mail_extra_groups = mail mmap_disable = yes lock_method = dotlock first_valid_uid = 465 valid_chroot_dirs = /var/mail/virtual maildir_copy_with_hardlinks = yes protocol imap { mail_plugins = quota imap_quota login_greeting_capability = yes imap_client_workarounds = outlook-idle } protocol pop3 { pop3_uidl_format = %08Xu%08Xv mail_plugins = quota pop3_client_workarounds = outlook-no-nuls oe-ns-eoh } protocol lda { postmaster_address = postmaster@amigo.net } auth_default_realm = amigo.net auth_username_translation = %@ auth_username_format = %Ln@%d auth_worker_max_count = 60 auth default { mechanisms = plain login apop digest-md5 cram-md5 passdb sql { args = /etc/dovecot/dovecot-sql.conf } userdb prefetch { } user = vmail count = 1 socket listen { master { path = /var/run/dovecot/auth-master mode = 0660 user = postfix group = mail } client { path = /var/run/dovecot/auth-client mode = 0660 } } } plugin { quota = maildir }
-- Kenny Dail kend@amigo.net