Hi all,

I'm using Dovecot 2.2.8 with quota using a MySQL backend. The Quota plugin is listed for POP3, IMAP and LDA.

When it is enabled for LDA, it populates the "username" field in the MySQL table with e mail addresses. I end up with a mixture of email addresses and usernames, which causes things to not fully work. It *should* be just usernames. the LDA SQL statement is:

user_query = \
SELECT mailboxes.username, accounts.uid, accounts.uid AS gid, \
concat('/home/',mailboxes.username) AS home, \
(SELECT IF(accounts.new_mail_fmt=1, \
CONCAT('Maildir:',home,'/Maildir'), \
CONCAT('mbox:',home,'/Maildir:INBOX=/var/spool/mail/',mailboxes.username))) AS mail_location \
FROM mailboxes JOIN accounts ON accounts.username=mailboxes.username \
WHERE (mailboxes.email='%u' || \
(mailboxes.email=CONCAT('@','%d') AND (SELECT COUNT(email) FROM mailboxes \
WHERE email='%u') = 0) AND mailboxes.active IS TRUE)

It clearly knows the username. Usernames on this system are just names, not full email addresses.

The configuration of Quota Dict is:

dovecot.conf

dict/quotadict = mysql:/etc/dovecot/dovecot-dict-sql.conf
...
quota = dict:user::proxy::quotadict


dovecot-dict-sql.conf

map {
  pattern = priv/quota/storage
  table = quota
  username_field = username
  value_field = bytes
}
map {
  pattern = priv/quota/messages
  table = quota
  username_field = username
  value_field = messages
}

Can this be fixed?

Michael

Reply via email to