To make Postfix look up host names in the /etc/hosts file, you have to tell it not to use its own DNS resolution routines, with the disable_dns_lookups configuration parameter.
See <http://www.postfix.org/postconf.5.html#disable_dns_lookups>. Also, from the transport man page <http://www.postfix.org/transport.5.html>: ... The interpretation of the nexthop field is transport dependent. In the case of SMTP, specify a service on a non-default port as host:service, and disable MX (mail exchanger) DNS lookups with [host] or [host]:port. The [] form is required when you specify an IP address instead of a hostname. ... Postfix is probably attempting MX lookup on the hostname you specify before falling back to an A (address) lookup. This may not be a problem now, but changes to your DNS setup (specifically, adding a wildcard MX record for the parent domain) could cause problems. So, I'd suggest doing as that says, and putting the hostname in your transport map in []. Philip Miller

