On 20 February 2010 01:40, Geert Lorang <ge...@lorang.be> wrote: > glorang:~# cat /etc/postfix/generic > @mydomain.be accep...@relayhost.other.domain > > Now try to lookup someth...@mydomain.be: > > glorang:~# postmap -q someth...@mydomain.be /etc/postfix/generic > glorang:~# echo $? > 1 > > So no output (no match found) and return value > 0, so you would expect > this can't work, but in fact it just works. I would expect that "postmap > -q whate...@mydomain.be /etc/postfix/generic" returns accep...@... in > every case (and return code 0), but it doesn't? > > If this is by design maybe add this somehow in the docs...
The trick is that postmap is "dumb" - it doesn't know *why* you're searching, so it doesn't strip the local part. This confuses people sometimes because using `postmap -q` isn't the same as what Postfix does, Postfix does a lot more. The lookup mechanism is entirely generic, it's just key->value mappings. It doesn't know what an email address is, or what it looks like. The apparent deficiency here isn't a matter of by-design or not-by-design, it's just not a consideration. As you've probably guessed by now, if you think like Postfix, you'll get what you expect. glorang:~# postmap -q @mydomain.be /etc/postfix/generic accep...@relayhost.other.domain