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?