Bug#994815: exim4: Helo command rejected: need fully-qualified hostname

Anton Ertl anton at mips.complang.tuwien.ac.at
Tue Sep 21 10:11:11 BST 2021


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:



More information about the Pkg-exim4-maintainers mailing list