Without the "MAIN_HARDCODE_PRIMARY_HOSTNAME" line in
/etc/exim4/update-exim4.conf.conf a remote server rejected mail coming
from our exim4 server with:
SMTP error from remote mail server after RCPT TO:<<destination mail server>>
504 5.5.2 <<hostname>>: Helo command rejected: need fully-qualified hostname
And I expect that many servers require fully-qualified names. We also
saw a domainless name when talking the server with telnet:
telnet <hostname> smtp
Trying <ip>
Connected to <longname>
Escape character is '^]'.
220 <shortname> ESMTP Exim 4.94.2 Tue, 21 Sep 2021 10:02:08 +0200
The <longname> here is coming from telnet; note the <shortname> in exim4's
response.
Our workaround is to append
MAIN_HARDCODE_PRIMARY_HOSTNAME=<longname>
to /etc/exim4/update-exim4.conf.conf. Calling "update-exim4.conf"
then reports
undocumented line REMOTE_SMTP_HELO_DATA=<longname>
/etc/exim4/update-exim4.conf.conf, generating exim macro
but it still works (e.g., exim4 now announced itself with the
longname). In the Debian 9 configuration we had
REMOTE_SMTP_HELO_DATA=<longname>
in /etc/exim4/update-exim4.conf.conf, and I think that this was as a
workaround for the same problem. But that no longer works in Debian 11.
There is bug report #760278
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760278>, which
seems to be about the same issue. This bug ended with someone
suggesting that someone else take this upstream (but that upstream may
have been libnss-myhostname). However, given that this is a
configuration issue (at least it can be configured away, or so it
seems), and given that Debian is the source for update-exim4.conf, it
seems to me that Debian is the right address for reporting this bug.
If you think that there is something that should be fixed in upstream
exim4, I would not know what it is, and could not produce a meaningful
bug report for exim4 upstream. For bug #760278 sending the reporter
upstream has not led to a fix in 7 years.
In the following I have replaced the mail server names with
<longname> and <otherlongname>.