Home

HELO

HELO is a command used in the Simple Mail Transfer Protocol (SMTP) for identifying the sending client to a receiving mail server at the start of a session. Historically, HELO is short for "Hello" and was defined in early SMTP specifications. In modern practice, Extended SMTP (ESMTP) uses the EHLO command to identify the client and to advertise the server’s capabilities, such as authentication and encryption options. HELO remains available primarily for backward compatibility, but many servers treat it with tighter checks or may require EHLO for full functionality.

In a typical SMTP exchange, a client connects to a mail server on port 25 (or submission

Security and policy considerations often influence the use of HELO/EHLO. The identity provided by the client’s

port
587)
and
issues
either
HELO
<domain>
or
EHLO
<domain>
to
identify
itself.
The
server
responds
with
a
status
code,
commonly
250
if
the
identification
is
accepted.
When
EHLO
is
used,
the
server’s
response
usually
lists
relevant
extensions
supported
by
the
server,
such
as
STARTTLS,
AUTH,
SIZE,
and
8BITMIME.
If
the
identification
string
is
malformed
or
unresolved,
the
server
may
respond
with
error
codes
such
as
500,
501,
or
other
negative
replies.
domain
should
resolve
in
DNS
and
ideally
match
the
sending
host’s
IP
address
(reverse
DNS).
Mismatches
or
suspicious
identifiers
can
trigger
spam
filters
or
rejection.
Modern
SMTP
implementations
typically
prefer
EHLO
due
to
its
support
for
extended
features
and
improved
interoperability.