The agents that do RFC 2047 incorrectly are invariably (almost) MUAs,
since MTAs have almost no reason to look inside that encoding. But if MUAs
cannot even get RFC 2047 right, why do you insist on recommending that
they be given the more demanding (and critical) job of doing IDNA right?
first, because unlike phrases and human-readable text, MUAs are already
having to identify addresses within headers and treat them specially -
this is already a critical function for them.
second, because the code necessary to do normalization and encoding
will be available in libraries that everyone can use - the MUA vendor
won't have to get that part right.
and of course the normalization would have to be done even with pure UTF-8.
the ASCII encoding step is fairly simple and isn't likely to introduce
many errors.
that's not to say that everybody will get IDNA exactly right either. but
the chance of the overall system working reliably when only the MUAs have
to deal with the new addresses is far greater than the chance that the
overall system will work reliably when several components in the signal
path each have to function properly. and if IDNA changes are mostly
isolated in MUAs then it's also far easier to find and fix any bugs
that result.
Keith