Hello,

I'm trying to select a transport to use based on the recipient domain
in a transport_map hash file, but a lower priority regexp that matches
the full recipient address is overriding the higher priority
domain-level match.  Based on the postconf transport_maps
documentation, "Tables will be searched in the specified order until a
match is found."  Within each table the search order is specified in
the transport(5) docs.  But it appears that all tables are searched
for a match based on the full address first, before searching any of
them for a domain.

Does this sound familiar to anyone or are there any suggestions for
rectifying?  Perhaps I'm misunderstanding the expected behavior or
have configured something incorrectly.  Any insight would be
appreciated.

Simplified example info, with postfix-2.10.1-6.el7.x86_64:

/etc/postfix/main.cf:
  transport_maps = hash:/etc/postfix/transport,hash:/etc/postfix/transport2

/etc/postfix/transport:
  example.com transport1:

/etc/postfix/transport2:
  u...@example.com transport2:
  example2.com transport3:


Log for email sent to u...@example.com:
  Mar 15 20:19:03 mx postfix/trivial-rewrite[3441]: maps_find:
transport_maps:
hash:/etc/postfix/transport2(0,lock|no_regsub|fold_fix):
u...@example.com = transport2:

Log for email sent to u...@example2.com:
  Mar 15 20:29:54 mx postfix/trivial-rewrite[3862]: maps_find:
transport_maps: u...@example2.com: not found
  Mar 15 20:29:54 mx postfix/trivial-rewrite[3862]: maps_find:
transport_maps:
hash:/etc/postfix/transport2(0,lock|no_regsub|fold_fix): example2.com
= transport3:


Thanks,
Jason

Reply via email to