Hello all!
Some month ago I upgraded our dovecot installation from version 1.0.5
to version 2.1.7 without having any trouble. Postfix is delivering
email directly per virtual transport to the maildirs and mailboxes of
the users in /var/spool/vhosts/domains/....
Now I want to use dovecot-lda and created a new entry in the master.cf
of postfix.
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/dovecot-lda -f ${sender}
-d ${recipient}
It is not clear to me, how the dovecot-lda is started bei dovecot and
you it finds the socket dovecot postfix created.
The dovecot.conf looks like this;
# 2.1.7: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.22.5-31-bigsmp i686 openSUSE 10.3 (i586) ext3
auth_verbose = yes
disable_plaintext_auth = no
log_path = /var/log/dovecot1
mail_location =
mbox:/var/spool/vhosts/%d/dovecotprivate/%n:INBOX=/var/spool/vhosts/%d/%n
!include /etc/dovecot/conf.d/*.conf
passdb {
args = /etc/dovecot/passwd
driver = passwd-file
}
userdb {
args = /etc/dovecot/passwd
driver = passwd-file
}
ssl_cert = < /etc/dovecot/ssl/hostcert.pem
ssl_key = < /etc/dovecot/ssl/hostkey.pem
#verbose_ssl = yes
plugin {
quota = maildir:User quota
quota_rule = *:storage=500MB
# 10% of 1GB = 100MB
quota_rule2 = Trash:storage=+10%%
# 20% of 1GB = 200MB
# quota_rule3 = Spam:storage=+20%%
autocreate = Trash
autocreate2 = Drafts
autocreate3 = Sent
autosubscribe = Trash
autosubscribe2 = Drafts
autosubscribe3 = Sent
}
I set soft_bounce = yes in main.cf of postfix and delivery of mail fails with
Dec 14 16:13:34 delta postfix/virtual[14082]: BBC0F1B31294: to=<xyz at
anup.de>, relay=virtual, delay=395, delays=395/0.01/0/0.13, dsn=4.1.1,
status=SOFTBOUNCE (unknown user: "xyz at anup.de")
This is the relevant part of the main.cf:
dovecot_destination_recipient_limit = 1
virtual_mailbox_domains = anup.de bit-corner.de bitcorner.de
baubetreuung-meyer.de saxelektro.de
virtual_mailbox_base = /var/spool/vhosts
#virtual_mailbox_maps = hash:/etc/postfix/vmailbox
#virtual_minimum_uid = 100
#virtual_uid_maps = static:5000
#virtual_gid_maps = static:5000
virtual_mailbox_limit = 524288000
virtual_transport = dovecot
I don't get it right. As far as I understand postfix uses virtual_transport
= dovecot
and hands the mail over to the socket dovecot. But how does dovecot know where
to look
for the socket. I am missing somthing but don't know what.
Any help is appreciated!
Andreas
At 5PM +0100 on 14/12/12 Andreas Meyer wrote:> > Some month ago I upgraded our dovecot installation from version 1.0.5 > to version 2.1.7 without having any trouble. Postfix is delivering > email directly per virtual transport to the maildirs and mailboxes of > the users in /var/spool/vhosts/domains/.... > > Now I want to use dovecot-lda and created a new entry in the master.cf > of postfix. > > dovecot unix - n n - - pipe > flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/dovecot-lda -f > ${sender} -d ${recipient} > > It is not clear to me, how the dovecot-lda is started bei dovecot and > you it finds the socket dovecot postfix created.The process listening on that 'dovecot' pipe is a Postfix pipe(8) process. When a delivery request comes in from elsewhere in Postfix, it invokes /usr/libexec/dovecot/dovecot-lda as a new child process. This new lda process will contact the dovecot-auth service if it needs to, but is otherwise not connected to the running Dovecot server at all. If you want Dovecot to listen for deliveries (which has some efficiency advantages), you want to use LMTP.> I set soft_bounce = yes in main.cf of postfix and delivery of mail fails with > > Dec 14 16:13:34 delta postfix/virtual[14082]: BBC0F1B31294: > to=<xyz at anup.de>, relay=virtual, delay=395, delays=395/0.01/0/0.13, > dsn=4.1.1, status=SOFTBOUNCE (unknown user: "xyz at anup.de")What happens if you run echo "foo" | /usr/libexec/dovecot/dovecot-lda \ -f xyz at anup.de -d xyz at anup.de in the shell (as the vmail user)? Does it fail with exit code 67? This is EX_NOUSER, and is the standard way for LDAs to signal 'I don't know how to deliver to this user'. Either xyz at anup.de is not a valid address at that domain, or you haven't made the auth-userdb socket available to the vmail user. See http://wiki2.dovecot.org/LDA, under the section 'Virtual users'. Ben