Markus Sch?nhaber:
> Hi,
> 
> given a postfix config like this:
> 
> # postconf -n
> compatibility_level = 2
> mydestination = example.com
> myhostname = f34-test.example.com
> 
> If I try to send mail to notlo...@example.com with "notlocal" neither
> being a system user nor being contained in the alias_maps, it is
> rejected with "550 5.1.1 <notlo...@example.com>: Recipient address
> rejected: User unknown in local recipient table" - as is to be expected.
> 
> But if I add something like
> 
> virtual_alias_maps = inline:{notlo...@example.com=notlo...@example.com}
> 
> to the config, the address will be accepted (of course, in the end, a
> bounce will be generated if no suitable setting - e.g. an entry in the
> transport_maps - exists which somehow makes delivery possible).
> I was bit surprised that creating a virtual mapping of the address onto
> itself prevents it from being rejected[1]. And although I guess that it
> probably is obvious why postfix behaves this way, I have failed to find
> an explanation for this behavior in the docs.
> Could someone please point me to the right place?

This is a multi-part story.

First, the address 'exists' because it has a virtual alias, even if the
expansion of that alias does not exist. 

Second, alias expansion is recursive, and terminates when a name
appears in its alias expansion. Thus, a 1:1 virtual alias is a
supported way to prevent recursion in situations like this:

        f...@example.com        f...@example.com
        @example.com    ot...@example.com

Here, any...@example.com will be aliased to ot...@example.com,
except for f...@example.com which is aliased to f...@example.com.

        Wietse

Reply via email to