>Wietse: >> MV: >> As far as I can tell, in my case since I'm using sing tcp-base tables >> some look ups are not performed and that's fine. But there are no >> mentions to the change in the order which patterns are checked. >> So am I wrong to expect to see the logs showing "get bar <at> >> foreign.tld" and "get foo <at> mydomain.tld" before "get *"? >> As oppose to what I see now: >> get * >> get * > > The "*" is the documented wild-card pattern. The query result is > not expected to change, therefore it is cached once during the > initialization of a trivial-rewrite process instance.
Thanks for explaining that. Got a much better picture now (and the of the diagrams at http://www.postfix.org/OVERVIEW.html also helped) Going back to my original question... Lets say I have "transport_maps = hash:/etc/postfix/transport", and the contents of /etc/postfix/transport are as follows: # Begin /etc/postfix/transport mydomain.ltd : .mydomain.ltd : * smtpX # End /etc/postfix/transport And in the master.cf file I have # -------%<------------------------------------ smtpX unix - - n - - smtp -o myhostname=X.mydomain.tld -o smtp_helo_name=mx1.mydomain.tld -o smtp_bind_address=1.1.1.1 -o syslog_name=smtpX smtpY unix - - n - - smtp -o myhostname=Y.mydomain.tld -o smtp_helo_name=mx2.mydomain.tld -o smtp_bind_address=2.2.2.2 -o syslog_name=smtpY # ------->%------------------------------------ The config above should work as expected. Now going a step further, how can I split the "*" (all non-local) between smtpX and smtpY (without running multiple postfix instances) ? Something like ... mydomain.ltd : .mydomain.ltd : * smtpX * smtpY