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 20username@olddomain.com and ...username@olddomain.com
Mail headers sample:
Delivered-To: 20username@newdomain.com Received: from server1.newdomain.com (server2.newdomain.com [x.y.z.q]) by server3.newdomain.com (Postfix) with ESMTPS id 067B4812CF29E for 20username@olddomain.com; Thu, 13 Jul 2017 19:05:02 +0200 (CEST)
Why doesn't the emailadress 20username@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
root@mail:/etc/postfix# postmap -q alias@newdomain.com ldap:/etc/postfix/ad-mailboxes.cf userid@newdomain.com root@mail:/etc/postfix# postmap -q alias@olddomain.com ldap:/etc/postfix/ad-mailboxes.cf root@mail:/etc/postfix#
Verified that this config works for newdomain, using: 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?