Currently i have a VPS that has a host of email accounts on for several domains.

most are simple and have all local mailboxes.

but i have one user that wants to have a hosted exchange account but leave all the others as they are.

So what i would like to do is:

Domain1.com - Deliver all mail localy (as it currently does)

Domain2.com - user1@domain2.com -> send to smart.host1.com - all others treated as local.

then there is also a possibilty that i could have:

Domain3.com - user1@domain3.com -> send to smart.host1.com - user2@domain3.com -> send to smart.host2.com - all others treated as local.

it also may use useful if i could specify a outgoing smarthost per domain name.

Im sure this has to be possible.

Hope this makes sense!


This can be achieved with transport_maps = hash:/etc/postfix/transport in main.cf

domain1.com     local:
user1@domain2.com       smtp:smart.host1.com:25
domain2.com             local:
user1@domain3.com       smtp:smart.host1.com:25
user2@domain3.com       smtp:smart.host2.com:25
domain3.com             local:
  • I cant seem to get this to work, Currently i have got relayhost = outbound.smarthost.com would this effect any of the above? – Steve Taylor Feb 21 '14 at 17:46
  • Please see postconf transport_maps override relayhost parameter. U can have a * smtp:outbound.smarthost.com:25 line in your transport file as a workaround – clement Feb 23 '14 at 14:42
  • It's necessary to run postmap /etc/postfix/transport and restart the service or at least invoke service postfix reload after creating transport and changing main.cf. – Karl Richter Oct 5 '14 at 13:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.