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/

Reply via email to