Lev Serebryakov wrote:
Hello, Dovecot.
I'm using postfix + dovecot with pure virtual users. postfix uses standard virtual transport, and dovecot fetches such fields from userdb:
chroot: "/usr/home/hosted/v-mail/%d/%n" home: "/" mail: "maildir:."
Everything works Ok -- dovecot founds users' mail.
Now, after upgrade to dovecot2, I want to use it LMTP server as virtual_transport in postifx. I've changed virtual_transport setting to "lmtp:unix:/var/run/dovecot/lmtp".
dovecot's LMTP can not deliver messages, because it seems that it uses userdb fields in some OTHER way. Errors look like this:
Jan 20 12:19:25 lmtp(38939): Info: Connect from local Jan 20 12:19:25 auth: Info: mysql: Connected to /tmp/mysql.sock (mailhost) Jan 20 12:19:25 lmtp(38939, lev@domain.com): Error: mkdir(./cur) in directory /var/run/dovecot failed: Permission denied (euid=30000(v-mail) egid=30000(v-mail) missing +w perm: ., euid is not dir owner)
That looks like dovecot is trying to create a mailbox (./cur) in the base directory (/var/run/dovecot)
How should I change my userdb output to make both POP/IMAP and LMTP processes happy?
For starters, I think you need to return a field "mail" containing perhaps:
maildir:/usr/home/hosted/v-mail/domain/user
/Per Jessen, Zürich