Il 02/10/12 01:43, Phil Pennock ha scritto:
> On 2012-10-01 at 17:54 +0200, Davide D'Amico wrote:
>> route_data =
>> ${lookup{$domain}lsearch{/usr/local/etc/exim/remote-servers}}
>> no_more
>> In /usr/local/etc/exim/remote-servers I have:
>>
>> domain1.tld: internal_smtp1::1026:internal_smtp2::1026
>> domain2.tld: internal_smtp1::1027:internal_smtp2::1027
>> domain3.tld: internal_smtp1::1028:internal_smtp2::1028
>>
>>
>> Everything just is running fine but sometimes (3/4 times every day) a
>> mail to any.user@??? is routed to internal_smtp1:1028 or
>> internal_smtp2:1028.
>>
>> Now I'm testing route_list instead of route_data (to avoid the lookup
>> operation).
>>
>> Is there anything I could check?
> Exim's optimised for one port per remote host, per the normal SMTP setup
> on the Internet, and the retry database keys do not include the port
> number.
>
> I'm coming down with a headcold and can't remember the option to set the
> maximum number of messages to shove down one connection, but that on the
> SMTP transport would help.
>
> Alternatively, use multiple hostnames so that each port has a distinct
> hostname to use with it, and set no_retry_include_ip_address on the SMTP
> transport. That way, keying will be by just the hostname.
>
> "internal_smtp1_1026" as a hostname, for instance, repeating the port
> number, and set up as a CNAME.
>
> If there's a cleaner way in Exim, it's not occurring to me right now,
> but see above re my current limited capacity.
>
>
Thank you for your answer.
So changing route_data to route_list isn't a good idea to solve this
problem? Is there really a problem with my setup?
As an (extreme) solution, I could use ((1 x service) x server) ip
addresses and use standard port 25.
Coming to your suggestion: if I understood, I shoud use (on my internal
name server):
internal_smtp1 IN A xxx.yyy.zzz.kkk
internal_smtp2 IN A
www.jjj.zzz.vvv
int_service1_smtp1 IN CNAME internal_smtp1
int_service2_smtp1 IN CNAME internal_smtp1
int_service3_smtp1 IN CNAME internal_smtp1
int_service1_smtp2 IN CNAME internal_smtp2
int_service2_smtp2 IN CNAME internal_smtp2
int_service3_smtp2 IN CNAME internal_smtp2
and then in /usr/local/etc/exim/remote-servers:
domain1.tld: int_service1_smtp1::1026:int_service1_smtp2::1026
domain2.tld: int_service2_smtp1::1027:int_service2_smtp2::1027
domain3.tld: int_service3_smtp1::1028:int_sergice3_smtp2::1028
and in /usr/local/etc/exim/configure:
route_data =
${lookup{$domain}lsearch{/usr/local/etc/exim/remote-servers}}
no_more
?
I didn't understand the use of no_retry_include_ip_address, which seems
related to retry control.
Thanks,
d.