-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wed, 1 Oct 2014, Alfredo Saldanha wrote:

#/etc/dovecot/dovecot-sql.conf.ext
password_query = \
 SELECT username AS user, value AS password \
 FROM mailboxes WHERE username = '%n@%d'

user_query = \
 SELECT username, domain, \
 CONCAT('*:storage=', SUBSTRING_INDEX(quota, 'm', 1)*1048576) AS 
userdb_quota_rule \
 FROM mailboxes, domains WHERE mailboxes.username = '%n@%d' \
 AND domains.domain = '%d'

My idea is when a message is delivered, the dovecot to check quota in the mysql according 
to the value received in the "user_query" but he does not.
It shows a value of 2GB that I don't know where it gets.

I execute a manual query in mysql to know the quota my test user and checked 
that are 5GB, but when I see the dovecot, it shows 2G.

SELECT username, domain, CONCAT('*:bytes=', SUBSTRING_INDEX(quota, 'm', 
1)*1048576) AS userdb_quota_rule
FROM mailboxes, domains WHERE mailboxes.username = 'ju...@domain.com' AND 
domains.domain = 'domain.com'

1) your manual query uses '*:bytes=', whereas your conf uses '*:storage='.
2) you return the value as userdb_quota_rule, but it must read quota_rule in the user_query. In the password_query fields are prefixed by userdb_ .

See http://wiki2.dovecot.org/Quota/Configuration

- -- Steffen Kaiser
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQEVAwUBVCzxqnz1H7kL/d9rAQIneAgAukcibxJoQdtwdmrxHbXmKgQsCG22itH5
9VSFGigiPjXg/F1hkj7jHC/xB5uh2M8ayMos+hPxaJkKC4AKYEZu1QEwXAX2qrvN
DXt7uPZHLJSMtlWCVb5s6h+v6K3JnbWRrjI4CIfYqB8i8MHKBWei0K02QZcOUOfy
KeD7lAIPRuZPnIEiWYREpalRMGeQzZ69SHEmhxDx7VFO5FanlHDxdCwmO7qHoJen
ZuNpUWMf5i5czxcDhHjLdtGODv005LFDCXhj48SqI17WzD3mPjJegOCjym6RfKmU
RT+PtKieBkzygT1YzvjJbHISFxJSryVg8c48tCb0FgjkNKWXq/KsPg==
=wzY8
-----END PGP SIGNATURE-----

Reply via email to