[Dovecot] sql : uid, gid, home ignored ?
Jerrale G
jerralegayle at sheltoncomputers.com
Sun Jan 30 09:27:05 EET 2011
On 1/29/2011 8:24 PM, Nick Edwards wrote:
> On Sat, Jan 29, 2011 at 9:26 PM, Eric Diaz Fernandez<eric.diaz at skynet.be>wrote:
>
>> Hello,
>>
>> I'm trying to setup a dovecot imap server.
>>
>> version is 2.0.9
>> I've setup a mysql database using:
>>
>> user_query = \
>> SELECT home, uid, gid, home as userdb_home, uid as userdb_uid, gid as
>> userdb_gid, \
>> FROM user WHERE username = '%n' AND domain = '%d' AND active = 'Y'
>>
>>
> Your SQL statement is incorrect, try:
>
> user_query = SELECT userdb_home as home, userdb_uid as uid, userdb_gid as
> gid, \
> FROM user WHERE username = '%n' AND domain = '%d' AND active = 'Y'
>
>
>
> nick
>
For a more extensive mysql support, implementing ALL possible features
of dovecot & postfix:
connect = host=localhost user=maildb password=XXXXXXXX dbname=mail
driver = mysql
default_pass_scheme = MD5
password_query = SELECT password FROM mailboxes WHERE username = '%n'
AND domain = '%d' AND active = '1'
user_query = SELECT CONCAT('/home/mail/', mailboxes.domain, '/',
mailboxes.username, '/') AS home, CONCAT('/home/mail/',
mailboxes.domain, '/', mailboxes.username, '/sieve/',
mailboxes.username, '.sieve') as sieve, CONCAT('/home/mail/',
mailboxes.domain, '/', mailboxes.username, '/sieve/') as sieve_dir,
CONCAT('/home/mail/', \ mailboxes.domain, '/', mailboxes.username,
'/mail/') AS maildir, 600 AS uid, 600AS gid, CONCAT('*:storage=',
ROUND(mailboxes.quota/1200), 'M') AS quota_rule, \ 'Trash:ignore' AS
quota_rule2 FROM mail.mailboxes WHERE username = '%n' AND domain = '%d'
AND active = '1'
iterate_query = SELECT concat(mailboxes.username, '@', mailboxes.domain)
AS user, CONCAT('/home/mail/', mailboxes.domain, '/',
mailboxes.username, '/') AS home, \
CONCAT('/home/mail/', mailboxes.domain, '/', mailboxes.username,
'/mail/') AS maildir FROM mail.mailboxes
ANY VARIABLE settable in dovecot.conf CAN be set in the mysql query! It
will also override any set in dovecot.conf. home_dir MUST be set
dynamically for each user IN ORDER to use ANY of the others, such as
maildir, sieve, sieve_dir, quota_rule, or any other parameter set under
plugins{ }. In order to set them, just grab it with SELECT
tablename.tablefield and append AS variable_name.
Jerrale G.
SC Senior Admin
More information about the dovecot
mailing list