Postfix can do anything, (providing I know how to configure it).

I have issues with my current Mixmaster remailer configuration and I’m struggling for a solution. Currently the remailer sends messages via smtp relay through a VPN tunnel to a Postfix MTA in another country. This is good because it seperates the actual remailer from its exit-point and abuse reports go where I want them to go. However from a reliability point, it’s bad. If the VPN lags or the recipient MTA is down, there is no retry, the sending fails.

What I need is a solution where the remailer talks to the local MTA which then relays the message through the VPN to the current MTA if the sender is the remailer. The ultimate would be to selectively relay directly to a list of recipients (other remailers) but for unknown recipients, relay through the VPN. Either of these solutions would solve the reliability issue as the local MTA would retry the relay instead of just failing.

I’ve been hunting for a solution to this for a while now and it’s not happening.


  1. Well the answer to this appears to lie in Postfix-2.3 which is currently in Beta. There is a new parameter, sender_dependent_relayhost_maps that should enable me to route messages based on who sent them.

    I installed a copy of postfix-2.3 to a test box but I couldn’t get the sender based routing to work. I got errors about unkown transports no matter how I formatted the transport table. No doubt I’m doing it wrong but documentation on the feature is a little scarce at the moment. I’ll revisit it in the near future. For the moment I’m using relay_host to route all outgoing mail across my VPN.

  2. Got sender_dependent_relayhost_maps working on a test bed now. The solution was in the format of the tranport table. I thought it should be:-
    sender@domain smtp:relayhost

    In reality it seems to not want a transport specified. Like this:
    sender@domain relayhost

    Initial tests are looking good.

Leave a comment