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

Reply via email to