On Sun, Jul 18, 2010 at 1:33 PM, Timo Sirainen <tss@iki.fi> wrote:
On 18.7.2010, at 21.28, Brandon Lamb wrote:
On Sun, Jul 18, 2010 at 1:02 PM, Timo Sirainen <tss@iki.fi> wrote:
On 18.7.2010, at 19.57, Brandon Lamb wrote:
In my exim log i just see these 2010-07-18 11:51:08 1OaYOJ-0003Vn-2P == brandon@olypen.com R=router_pop T=dovecot_deliver defer (2): No such file or directory: failed to chdir to maildir:~/maildir:INDEX=~/maildir/dovecot-index
Actually, there is no such error message in Dovecot code. It's exim that logs this error..
Right but that means exim is talking to dovecot-lda because it is getting the maildir:~/maildir value, no way exim could no that unless dovecot told it. So then there SHOULD be a log in debug or deliver from lda if exim got that showing *something* right?
Or is it possible that Exim looks up mail field as a home directory from the database? I think this error happens before dovecot-lda is even run (it's chdiring before running it).
But I thought exim just pipes the mail to dovecot-lda and then dovecot-lda looks up the user info, home and mail location and actually writes the file, exim doesnt do any database lookups or am I totally in the dark?
OH! Well damn, look I have a router_home_directory, so... hm, do I assume exim passes this to dovecot-lda somehow as an environment variable or something?
I swear I looked at this like 50 times last night...
router_pop: debug_print= "R: dovecot_deliver for $local_part@$domain" driver = accept transport = dovecot_deliver local_parts = mysql; SELECT username FROM SQL_AUTH LEFT JOIN (SQL_POP) ON (SQL_POP.user_id = SQL_AUTH.user_id) WHERE username = '${quote_mysql:$local_part}' AND domain = (SELECT IF( STRCMP('', '${quote_mysql:$domain}'), '${quote_mysql:$domain}', 'olypen.com') ) AND SQL_POP.status != 'disabled' router_home_directory = ${lookup mysql {SELECT SQL_POP.maildir FROM SQL_AUTH LEFT JOIN (SQL_POP) ON (SQL_POP.user_id = SQL_AUTH.user_id) WHERE username = '${quote_mysql:$local_part}' AND domain = '${quote_mysql:$domain}' LIMIT 1}} user = 8 group = 8