Hi,

We're running dovecot 2.2.13, virtual users, with postfix. We have an olddomain and a new domainname. To 'translate' *@olddomain into *@newdomain, I have configured:

cat /etc/postfix/canonical
@olddomain.com   @newdomain.com

While this seems to work, lately we have noticed that dovecot occasionally creates mailboxes for non-existent users, like:
/var/vmail/...username
/var/vmail/20username

This only seems to be happening for mails sent to *olddomain*

Looking at the source of these mails, they are indeed sent to 20usern...@olddomain.com and ...usern...@olddomain.com

Mail headers sample:
Delivered-To: 20usern...@newdomain.com
Received: from server1.newdomain.com (server2.newdomain.com [x.y.z.q])
        by server3.newdomain.com (Postfix) with ESMTPS id 067B4812CF29E
        for <20usern...@olddomain.com>; Thu, 13 Jul 2017 19:05:02 +0200 (CEST)

Why doesn't the emailadress 20usern...@newdomain.com in the above generate an error, but instead are delivered to a newly created mailbox?

My feeling is that something is wrong with the way I created the alias for olddomain -> newdomain with the canonical-file . Does that make sense?

Our goal is to accept *@olddomain.com like it was sent to *@newdomain.com, including delivery failures for nonexistent mailboxes like 20username

We configured postfix like:
canonical_maps = hash:/etc/postfix/canonical
virtual_alias_maps = ldap:/etc/postfix/ad-mailboxes.cf, 
ldap:/etc/postfix/ad-groups.cf
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_transport = dovecot

Verified that this config works for newdomain, using:
root@mail:/etc/postfix# postmap -q al...@newdomain.com  
ldap:/etc/postfix/ad-mailboxes.cf
use...@newdomain.com
root@mail:/etc/postfix# postmap -q al...@olddomain.com  
ldap:/etc/postfix/ad-mailboxes.cf
root@mail:/etc/postfix#
olddomain gives no result.

Then, from master.cf:
dovecot unix - n n - - pipe
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -a 
${recipient} -d ${user}@${nexthop}

Finally, the mail location as defined in dovecot:

mail_location = maildir:/var/vmail/%Ln/Maildir:LAYOUT=fs:DIRNAME=mAildir

So, can anyone explain why for mails to olddomain, dovecot creates new mailboxes, instead of simply generating an error?

Reply via email to