[Dovecot] Arghh, dovecot-2 and lda

Brandon Lamb brandonlamb at gmail.com
Sun Jul 18 22:40:56 EEST 2010


On Sun, Jul 18, 2010 at 12:27 PM, Brandon Lamb <brandonlamb at gmail.com> wrote:
> On Sun, Jul 18, 2010 at 12:17 PM, Brandon Lamb <brandonlamb at gmail.com> wrote:
>> On Sun, Jul 18, 2010 at 12:13 PM, Brandon Lamb <brandonlamb at gmail.com> wrote:
>>> On Sun, Jul 18, 2010 at 12:06 PM, Timo Sirainen <tss at iki.fi> wrote:
>>>> On 18.7.2010, at 19.57, Brandon Lamb wrote:
>>>>
>>>>> 2010-07-18 11:51:08 1OaYOJ-0003Vn-2P == brandon at 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
>>>> ..
>>>>> command = /usr/local/libexec/dovecot/ -e -k -f "$sender_address" -d
>>>>> "$local_part@$domain" -m "$acl_m1"
>>>>
>>>> Why are you giving -k parameter?
>>>
>>> I dont remember, its something I had entered at some point long ago,
>>> i'll remove it
>>>
>>>>> I am returning a home and mail with userdb, the directory does exist,
>>>>> owned by mail.mail... Im stumped
>>>>
>>>> It looks like you're returning "maildir:~/maildir:INDEX=~/maildir/dovecot-index" as the home directory.
>>>
>>> I know that was my thought too! But below are the fields in mysql, and
>>> there are also no logs being entered to give me hints at what might be
>>> wrong. It isnt logging to debug, but it DOES if I run the dovecot-lda
>>> from the command line??
>>>
>>> home: /mail/mail2/b/olypen.com/brandon
>>> maildir: maildir:~/maildir:INDEX=~/maildir/dovecot-index
>>>
>>> and dovecot-sql.conf-ext
>>> # Password query
>>> password_query = SELECT 8 AS userdb_uid, \
>>> 8 AS userdb_gid, \
>>> password, \
>>> CONCAT(username, '@', domain) AS user, \
>>> mail_pop.home AS userdb_home, \
>>> mail_pop.maildir AS userdb_mail, \
>>> CONCAT('*:storage=', quota, 'M') AS quota_rule, \
>>> '~/dovecot.sieve' AS userdb_sieve \
>>> FROM `auth` LEFT JOIN (mail_pop) ON (mail_pop.user_id = auth.user_id)
>>> WHERE username = '%n' AND domain = '%d' AND mail_pop.status =
>>> 'enabled' LIMIT 1
>>>
>>> # User query
>>> user_query = SELECT mail_pop.home AS home, \
>>> mail_pop.maildir AS mail, \
>>> 8 AS uid, \
>>> 8 AS gid, \
>>> CONCAT('*:storage=', quota, 'M') AS quota_rule, \
>>> '~/dovecot.sieve' AS sieve \
>>> FROM `auth` LEFT JOIN (mail_pop) ON (mail_pop.user_id = auth.user_id)
>>> WHERE username = '%n' AND domain = '%d' AND mail_pop.status =
>>> 'enabled' LIMIT 1
>>>
>>> And the directory:
>>> server:/mail/mail2/b/olypen.com/brandon# ls -al
>>> total 8
>>> drwxrwx---  4 mail mail   32 Jul 18 00:54 .
>>> drwxrwx---  3 mail mail   20 Jul 18 00:53 ..
>>> drwxrwx--- 27 mail mail 4096 Jul 18 11:22 maildir
>>> drwx-w----  4 mail mail 4096 Jul 18 01:20 mdbox
>>
>> I also just now tried changing the maildir field to absolute paths and
>> now I still get :
>>
>> No such file or directory: failed to chdir to
>> maildir:/mail/mail2/b/olypen.com/brandon/maildir:INDEX=/mail/mail2/b/olypen.com/brandon/maildir/dovecot-index
>>
>> And still nothing in dovecot's logs showing that exim even talked to it..
>>
>
> Curious, I just changed the maildir field to
> /mail/mail2/b/olypen.com/brandon/Maildir and now it delivered,
> curious!
>
> Its like it didnt understand the mailbox type or something?

So I switched mysql back to sending full path for home, and
maildir:~/maildir and mdbox:~/mdbox for my two test accounts. Imap
works just fine, it seems like just lda doesnt understand the returned
mail field


More information about the dovecot mailing list