On Wed, 2007-08-08 at 11:23 +0100, Mike Brudenell wrote: > So my first two routers now read: > ================================================ > # This router sends all locally originating messages to a central > smart host. > > send_local_origin_to_smart_host: > driver = manualroute > route_data = ${if eq{$sender_host_address}{} {mta.york.ac.uk} {}} > transport = remote_smtp > > # This router routes all non-local addresses to a central smart host. > > send_to_smart_host: > driver = manualroute > route_list = !+local_domains mta.york.ac.uk > transport = remote_smtp > ================================================ > where "mta.york.ac.uk" refers to our mailhubs. > > Whilst this works it causes the problem that a message which can't be > delivered isn't getting deferred and queued for re-try, but instead > the failure notification is sent back immediately. > > I'm surprised by this and don't understand why it is happening.
Can you change the logic in your first router to: send_local_origin_to_smart_host: driver = manualroute route_list = * mta.york.ac.uk condition = ${if eq{$sender_host_address}{}{yes}{no}} transport = remote_smtp The way you have it seems to want to generate a null route_data value if the message is non-local, which looks wrong to me (but might not be!). The way above should only trigger the router if the message is locally submitted. Graeme -- ## List details at http://lists.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://wiki.exim.org/