Package: exim4 Version: 4.94.2-7 Severity: important 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>. -- Package-specific info: Exim version 4.94.2 #2 built 13-Jul-2021 16:04:57 Copyright (c) University of Cambridge, 1995 - 2018 (c) The Exim Maintainers and contributors in ACKNOWLEDGMENTS file, 2007 - 2018 Berkeley DB: Berkeley DB 5.3.28: (September 9, 2013) Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages DANE DKIM DNSSEC Event I18N OCSP PIPE_CONNECT PRDR SOCKS TCP_Fast_Open Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz dbmnz dnsdb dsearch nis nis0 passwd Authenticators: cram_md5 plaintext Routers: accept dnslookup ipliteral manualroute queryprogram redirect Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp Fixed never_users: 0 Configure owner: 0:0 Size of off_t: 8 Configuration file search path is /etc/exim4/exim4.conf:/var/lib/exim4/config.autogenerated Configuration file is /var/lib/exim4/config.autogenerated # /etc/exim4/update-exim4.conf.conf # # Edit this file and /etc/mailname by hand and execute update-exim4.conf # yourself or use 'dpkg-reconfigure exim4-config' # # Please note that this is _not_ a dpkg-conffile and that automatic changes # to this file might happen. The code handling this will honor your local # changes, so this is usually fine, but will break local schemes that mess # around with multiple versions of the file. # # update-exim4.conf uses this file to determine variable values to generate # exim configuration macros for the configuration file. # # Most settings found in here do have corresponding questions in the # Debconf configuration, but not all of them. # # This is a Debian specific file #dc_eximconfig_configtype='local' dc_eximconfig_configtype='internet' #dc_other_hostnames='<longname>' dc_other_hostnames='<longname>; <otherlongname> #dc_local_interfaces='127.0.0.1 ; ::1' dc_local_interfaces='' dc_readhost='' dc_relay_domains='' dc_minimaldns='false' dc_relay_nets='' dc_smarthost='' CFILEMODE='644' dc_use_split_config='false' dc_hide_mailname='' dc_mailname_in_oh='true' dc_localdelivery='mail_spool' #REMOTE_SMTP_HELO_DATA=<longname> #PRIMARY_HOST_NAME=<longname> MAIN_HARDCODE_PRIMARY_HOSTNAME=<longname> mailname:<longname> # /etc/default/exim4 EX4DEF_VERSION='' # 'combined' - one daemon running queue and listening on SMTP port # 'no' - no daemon running the queue # 'separate' - two separate daemons # 'ppp' - only run queue with /etc/ppp/ip-up.d/exim4. # 'nodaemon' - no daemon is started at all. # 'queueonly' - only a queue running daemon is started, no SMTP listener. # setting this to 'no' will also disable queueruns from /etc/ppp/ip-up.d/exim4 QUEUERUNNER='combined' # how often should we run the queue QUEUEINTERVAL='30m' # options common to quez-runner and listening daemon COMMONOPTIONS='' # more options for the daemon/process running the queue (applies to the one # started in /etc/ppp/ip-up.d/exim4, too. QUEUERUNNEROPTIONS='' # special flags given to exim directly after the -q. See exim(8) QFLAGS='' # Options for the SMTP listener daemon. By default, it is listening on # port 25 only. To listen on more ports, it is recommended to use # -oX 25:587:10025 -oP /run/exim4/exim.pid SMTPLISTENEROPTIONS='' -- System Information: Debian Release: 11.0 APT prefers stable-security APT policy: (500, 'stable-security'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 5.10.0-5-amd64 (SMP w/16 CPU threads) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages exim4 depends on: ii debconf [debconf-2.0] 1.5.77 ii exim4-base 4.94.2-7 ii exim4-daemon-light 4.94.2-7 exim4 recommends no packages. exim4 suggests no packages. -- debconf information: exim4/drec: