[Dovecot] Can not Create Maildir using userdb sql
Timo Sirainen
tss at iki.fi
Tue Jan 13 04:27:31 EET 2009
On Jan 12, 2009, at 8:38 PM, Henry Yonathan wrote:
> password_query = SELECT email AS user, password, CONCAT('/home/vmail/
> %d/%n/', maildir) AS userdb_home, CONCAT('maildir:/home/vmail/%d/
> %n/', maildir) AS userdb_mail, 5000 AS userdb_uid, 5000 AS
> userdb_gid FROM view_users WHERE email = '%u';
Here you're trying to use prefetch userdb by returning userdb_*
fields. But they're different than here:
> user_query = SELECT '/home/vmail/%d/%n' AS home, '/home/vmail/%d/%n/
> Maildir' AS mail, 5000 AS uid, 5000 AS gid,
> CONCAT('maildir:storage=', ROUND(quota/1024)) AS quota FROM
> view_users WHERE email = '%u';
They should contain the exact same values. Here userdb_mail isn't
prefixed with "maildir:", which is your main problem. Also here you're
specifying "quota" field but in password_query you're not specifying
userdb_quota at all.
> passdb:
> driver: sql
> args: /etc/dovecot-sql.conf
> userdb:
> driver: sql
> args: /etc/dovecot-sql.conf
And finally you're not currently even using prefetch userdb so Dovecot
ignores all the userdb_* fields you're returning in password_query.
For enabling prefetch see http://wiki.dovecot.org/UserDatabase/Prefetch
More information about the dovecot
mailing list