On 2/19/2010 8:49 AM, Barney Desmond wrote:
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
This is documented in the "TABLE SEARCH ORDER" section of each
postfix table-related feature. See
http://www.postfix.org/generic.5.html
or the other "Table-driven mechanisms" listed in
http://www.postfix.org/postfix-manuals.html
-- Noel Jones