On 30 Oct 2016, at 13:46, [email protected] wrote:
Funny how someone with a broken SMTP server complains about broken
SMTP clients...
The Yahoo Japan sending servers are actually *broken* in that they
apparently choke on multiline replies to HELO. The OP's receiving server
isn't broken, it's just weird.
I should add that I see those Yahoo Japan servers consistently behaving
normally when faced with a 2-line greeting banner with a 6-second pause
between the 2 lines and the default Postfix greeting text, after which
they say HELO, not EHLO. So their brokenness is a nuanced one.
200 Welcome to my server
RFC 2821:
Greeting = "220 " Domain [ SP text ] CRLF
So two problems in the initial greeting already...
Well, the lack of ESMTP is entirely not a problem at all, so there's
only one. Or more properly, half of one. From RFC5321 (which obsoletes
RFC2821):
An SMTP server SHOULD send only the reply codes listed in this
document. An SMTP server SHOULD use the text shown in the examples
whenever appropriate.
So yes: sending '200 not a domain name or IP literal' is ill-advised.
It's not absolutely wrong, just a bad idea because it confuses people
who only read the ABNF parts of RFCs...
An SMTP client MUST determine its actions only by the reply code,
not
by the text (except for the "change of address" 251 and 551 and, if
necessary, 220, 221, and 421 replies); in the general case, any
text,
including no text at all (although senders SHOULD NOT send bare
codes), MUST be acceptable. The space (blank) following the reply
code is considered part of the text. Whenever possible, a receiver-
SMTP SHOULD test the first digit (severity indication) of the reply
code.
Clear confirmation that there's no operational requirement for 'ESMTP'
in the text part of the greeting or even really the domain or IP literal
which SHOULD (not 'MUST') immediately follow the first space.
The list of codes that appears below MUST NOT be construed as
permanent. While the addition of new codes should be a rare and
significant activity, with supplemental information in the textual
part of the response being preferred, new codes may be added as the
result of new Standards or Standards-Track specifications.
Consequently, a sender-SMTP MUST be prepared to handle codes not
specified in this document and MUST do so by interpreting the first
digit only.
So if a client gets a '200 Welcome to my server' banner, it is talking
to a misbehaving server. However, since it doesn't expect '200' it MUST
only interpret the '2' which indicates success.
_______________________________________________
mailop mailing list
[email protected]
https://chilli.nosignal.org/cgi-bin/mailman/listinfo/mailop