On Mon, 13 Aug 2001, Dave C. wrote:
> Although, I will note that any host which rejects a normal SMTP HELO
> with a domain name or hostname as an argument is BROKEN..
Absolutely. This is what RFC 2821 says:
A client SMTP SHOULD start an SMTP session by issuing the EHLO
command. If the SMTP server supports the SMTP service extensions it
will give a successful response, a failure response, or an error
response. If the SMTP server, in violation of this specification,
does not support any SMTP service extensions it will generate an
error response. Older client SMTP systems MAY, as discussed above,
use HELO (as specified in RFC 821) instead of EHLO, and servers MUST
support the HELO command and reply properly to it. In any event, a
client MUST issue HELO or EHLO before starting a mail transaction.
These commands, and a "250 OK" reply to one of them, confirm that
both the SMTP client and the SMTP server are in the initial state,
that is, there is no transaction in progress and all state tables and
buffers are cleared.
Syntax:
ehlo = "EHLO" SP Domain CRLF
helo = "HELO" SP Domain CRLF
And the syntax of "domain" is defined thus:
Domain = (sub-domain 1*("." sub-domain)) / address-literal
sub-domain = Let-dig [Ldh-str]
address-literal = "[" IPv4-address-literal /
IPv6-address-literal /
General-address-literal "]"
; See section 4.1.3
So either
HELO my.host.name
or
HELO [10.9.8.7]
is legal according to that syntax. And because domain names may begin
with digits,
HELO 10.9.8.7
is also syntactically legal, but so is
HELO 10.9.8.7.6.5.4.3.2.1
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.