Now that I think about it, the idea behind the recommendation might be to not change a setting that affects others. But rather change any specific setting you want to change. Want to change the From
header? Change /etc/mailname
. HELO
hostname? Change helo_data
. Which basically boils down to:
/etc/exim4/exim4.conf.localmacros
(HELO
hostname):
REMOTE_SMTP_HELO_DATA = mydomain.com
/etc/mailname
(From
header):
mydomain.com
Then
# update-exim4.conf
# systemctl reload exim4
verification
You can confirm that it works by sending a test email to port25's authentication checker:
echo test email | exim check-auth@verifier.port25.com # replies back
echo test email | exim check-auth2@verifier.port25.com # replies back
echo test email | exim check-auth-jsmith=yourdomain.com@verifier.port25.com \
# replies to jsmith@yourdomain.com
In the recieved report there'll be a line:
HELO hostname: somedomain.com
Or simply add -v
option:
# echo test email | exim -v root@dst.com
LOG: MAIN
<= root@src.com U=root P=local S=290
delivering 1hM501-0007Nn-7A
R: dnslookup for root@dst.com
T: remote_smtp for root@dst.com
Connecting to mail.dst.com [ip.add.re.ss]:25 ... connected
SMTP<< 220 dst.com ESMTP Postfix (Debian/GNU)
SMTP>> EHLO src.com
SMTP<< 250-dst.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
SMTP>> STARTTLS
SMTP<< 220 2.0.0 Ready to start TLS
SMTP>> EHLO src.com
SMTP<< 250-dst.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
SMTP>> MAIL FROM:<root@src.com> SIZE=1322
SMTP>> RCPT TO:<root@dst.com>
SMTP>> DATA
SMTP<< 250 2.1.0 Ok
SMTP<< 250 2.1.5 Ok
SMTP<< 354 End data with <CR><LF>.<CR><LF>
SMTP>> writing message and terminating "."
SMTP<< 250 2.0.0 Ok: queued as 0019EEC0B6D
SMTP>> QUIT
LOG: MAIN
=> root@dst.com R=dnslookup T=remote_smtp H=mail.dst.com [ip.add.re.ss] X=TLS1.0:RSA_AES_256_CBC_SHA1:32 DN="CN=dst.com"
LOG: MAIN
Completed
Alternatively, you can check the destination mailbox:
recevied by exim
:
Received: from [ip.add.re.ss] (helo=HELO_HOSTNAME)
...
received by postfix
:
Received: from HELO_HOSTNAME (myhostname [ip.add.re.ss])
...
hostname and /etc/hosts
I believe hostname is supposed to be hostname, not FQDN.
Whether to add it to /etc/hosts
... I'd rather not. From what I can see software these days doesn't expect hostname to be resolved to anything. Or it can be overridden. (That is, unless you use hostname as a domain name somewhere.) Which means that one needs just this for 127.0.0.1
:
127.0.0.1 localhost