Re: [exim] Router/Transport Problem with multiple entries

Top Page
Delete this message
Reply to this message
Author: Colin
Date:  
To: exim-users
Subject: Re: [exim] Router/Transport Problem with multiple entries

On 23/10/2011 02:50, Phil Pennock wrote:
> On 2011-10-22 at 23:08 +0100, Colin wrote:
>> Say I have the following in /etc/staticroutes
>>
>> domain1.com: 1.1.1.1
>> domain2.com: 2.2.2.2
>> domain3.com: 1.1.1.1
>>
>> Delivery to each domain individually is fine. A message addressed to
>> user@??? and user@??? is fine.
>>
>> A message which contains any user at domain1.com and domain3.com will
>> fail as both domains point to the same IP address. Can anyone see an
>> obvious reason why these would fail?
> Yes.
>
> Look up the documentation for "$domain":
>
>      When an address is being routed, or delivered on its own, this variable
>      contains the domain.
> [...]
>      When more than one address is being delivered at once (for example, several
>      RCPT commands in one SMTP delivery), $domain is set only if they all have
>      the same domain. Transports can be restricted to handling only one domain
>      at a time if the value of $domain is required at transport time - this is
>      the default for local transports. For further details of the environment in
>      which local transports are run, see chapter 23.

>
>> #Router
>>
>> static_route:
>>    driver = manualroute
>>    transport = remote_smtp_smart
>>    route_data = ${lookup{$domain}lsearch{/etc/staticroutes}}
> So at this point, the transport can access the host via $route_data.

>
>> #Transport
>>
>> remote_smtp_smart:
>>     driver = smtp
>>     port = 25
>>     delay_after_cutoff = false
>>     hosts = ${lookup{$domain}lsearch{/etc/staticroutes}}
>>     hosts_override
> And here you look up the hosts again, but $domain will not be set if
> multiple domains are being passed down one connection.

>
> The static_route Router has provided a list of hosts via the
> "route_data" option -- you don't need to override it again here. Just
> leave off the hosts/hosts_override option to use whatever hosts were
> passed into this via the Router which specified to use this Transport.
>
> -Phil
>

Thank you for the good explanation of the setting, I shall do some
testing on it now - or at least when the test server reboots.

Regards,
Colin.