At 4PM +0100 on 15/12/12 you (Andreas Meyer) wrote:
Ben Morrow ben@morrow.me.uk wrote:
# su - vmail vmail@delta:~> doveconf -m lda base_dir auth_socket_path base_dir = /usr/var/run/dovecot auth_socket_path = auth-userdb
But I don't know how to tell dovecot-lda to listen on sockets in /usr/var/run/dovecot
Do you mean 'connect to'? It's important to be clear.
hm, what does dovecot-lda do? I think it tries to connect to /usr/var/run/dovecot/auth-userdb ?
Yes. It doesn't listen on any sockets at all.
The first thing is to see what actually happens when you invoke dovecot-lda as vmail. Remember to check the logs as well as the mailboxes.
vmail@delta:~> echo "foo" | /usr/libexec/dovecot/dovecot-lda -f anmeyer@anup.de -d anmeyer@anup.de
The email with body foo in it is delivered to the mailbox. Dec 15 16:37:27 lda(anmeyer@anup.de): Info: sieve: msgid=unspecified: stored mail into mailbox 'INBOX'
Sending an email from the desktop results in the same error:
# mailq -Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient------- CB9771B3025F 559 Sat Dec 15 16:39:48 anmeyer@anup.de (unknown user: "anmeyer@anup.de") anmeyer@anup.de
*Right*. Now we're getting somewhere: it looks like the problem is in your Postfix configuration.
Create a script something like this
#!/bin/sh
echo "--- FROM [$1] TO [$2]" >>/tmp/lda-log
/usr/bin/id >>/tmp/lda-log
/usr/bin/env >>/tmp/lda-log
exec /usr/libexec/dovecot/dovecot-lda -f "$1" -d "$2"
(you may need to adjust the paths to id and env; the point is to avoid relying on $PATH) and change the master.cf entry to invoke
/path/to/script ${sender} ${recipient}
instead of dovecot-lda. Then deliver some mail and see what, if anything, gets written to /tmp/lda-log.
Ben