Re: [exim] Setting the HELO response at a per-interface leve…

Top Page
Delete this message
Reply to this message
Author: W B Hacker
Date:  
To: exim users
Subject: Re: [exim] Setting the HELO response at a per-interface level
Adam Nielsen wrote:

> Hi everyone,
>
> I've recently set up a new server running Exim 4.60, however this server
> has two network interfaces, with a different FQDN for each interface.
> I've noticed that whenever Exim sends mail out through either interface
> it always uses the machine's primary hostname, instead of the hostname
> belonging to the interface it's connecting out of.
>
> For example, interface one has an IP of 1.1.1.1 with a hostname of
> one.example.com, and interface two has an IP of 2.2.2.2 with a hostname
> of two.example.com. Sending out of the first interface gives this line
> in the e-mail:
>
> Received: from one.example.com ([1.1.1.1])
>
> Which is fine, but sending out of interface two gives this line:
>
> Received: from two.example.com ([2.2.2.2] helo=one.example.com)
>
> Evidently the receiving instance of Exim notices that the HELO response
> doesn't match the IP address and lists it in the headers. From looking
> at the list archives there have been a fair few people who've also come
> across this problem, but most of those messages were sent before 2002 -
> I couldn't find anything much recently. I did find one message saying
> it was on the wishlist for Exim 3...
>
> So does anyone know whether this is now possible? I realise that it
> does no harm leaving it this way, but it would be "nicer" to have HELO
> send the correct hostname.
>
> Thanks,
> Adam.
>


What do you have for PTR records?

What you HELO as is one thing, what the far-end recovers from rDNS may not match.


Otherwise:

- ISTR that the 'interface' option tests have to do with incoming traffic only?

But any router that can ascertain which domain and interface is to be used [1]
can call a transport set such as this (note I am not showing prefixes here):

beedomain_remote_smtp:
    driver    = smtp
    helo_data = beedomain.tld


ceedomain_remote_smtp:
    driver    = smtp
    helo_data = ceedomain.tld


HTH,

Bill

[1] This presumes you already have a working method to select the desired
outbound interface.