On Sun, Jul 18, 2010 at 1:33 PM, Timo Sirainen <t...@iki.fi> wrote: > On 18.7.2010, at 21.28, Brandon Lamb wrote: > >> On Sun, Jul 18, 2010 at 1:02 PM, Timo Sirainen <t...@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 == bran...@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_p...@$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