Looks like using "As home" in the sql request corrected the problem :) Thanks Timo ;)
Guillaume Hilt
Guillaume Hilt a écrit :
I'll try that. For the mail location, it's already the case : ~/.maildir
Guillaume Hilt
Timo Sirainen a écrit :
"maildir" field isn't used for anything. Perhaps there is some completely undocumented and unreliable code that makes use of it for pop3/imap, but it is used in no way by Sieve. Try something like:
user_query = SELECT CONCAT('/home/vmail', maildir) AS home, 207 AS uid, 207 AS gid FROM mailbox WHERE username = '%u'
And in dovecot.conf:
mail_location = maildir:~/
(or actually preferrably mail_location = maildir:~/Maildir if can afford to change it).
On Jan 3, 2009, at 10:43 AM, Guillaume Hilt wrote:
In dovecot-sql.conf
user_query = SELECT CONCAT('/home/vmail/',maildir) AS maildir, 207 AS uid, 207 AS gid FROM mailbox WHERE username = '%u' So I'll have a complete path like /home/vmail/mydomain/myuser/.
Guillaume Hilt
Timo Sirainen a écrit :
Where did you add that? You'll need to return a "home" field from user_query poiting to the sieve script directory.
On Jan 3, 2009, at 10:35 AM, Guillaume Hilt wrote:
Anyway, I correct the sql request by adding a concat with .home/vmail/ and now I have the good home directory but the error still occurs. Setting sieve_global_dir didn't change anything.
Guillaume Hilt
Timo Sirainen a écrit :
On Jan 3, 2009, at 10:21 AM, Guillaume Hilt wrote:
> Timo Sirainen a écrit : >> On Jan 2, 2009, at 9:38 AM, Guillaume Hilt wrote: >> >>> Jan 2 14:48:52 mail deliver(postmaster@adomain.fr): >>> chdir(/root) failed: Permission denied >> .. >>> Why does it look inside the /root folder for sieve >>> configuration ? >> >> Your userdb returns /root as home directory. Show your >> dovecot-sql.conf and enable auth_debug=yes and show the logs >> again. >> >> > Oh. > > Postfixadmin inly store a portion of the maildir path. > Instead of storing /home/vmail/domain/user it stores domain/user.
OK. Looks like I was a bit wrong. Your userdb doesn't return any home directory (it's preferred to return one, http://wiki.dovecot.org/VirtualUsers#homedirs) and deliver preserves HOME environment which is set to /root in your case. That causes the chdir() error. I think I'll have to do something about this in v1.2. The HOME environment shouldn't be preserved when using -d parameter.