Thank you all for very insightful discussion.
My conclusion for the initial question is that we need to fully support
single-component domain names and ABNF production in RFC2821 is an error.
That's the way I see it.
Supporting single-component domain names should not be a problem as long as it
is clear from the context that this is indeed FQDN and not an abbreviation.
Of course this is very implementation-specific. In our code, for example,
whether or not a single-component name is treated as a short forn name or
as a TLD is configurable, if necessary on a per-domain basis.
For the trailing dot in a domain name, I understand that accepting it can be
desirable, although it is legal/fine to be stricter and reject such domain
names as invalid. Of course it must never be produced.
Agreed.
Ned