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