Re: UUCP, etc., and SMTP/822/MIME mail (was: Re: I-D ACTION:draft-hoffman-utf8headers-00.txt)
John C Klensin <[email protected]> Sun, 04 Jan 2004 08:13:05 -0500
| Newsgroups | gmane.ietf.imaa |
|---|---|
| Message-ID | <[email protected]> |
--On Sunday, 04 January, 2004 10:59 +0100 Dan Oscarsson <[email protected]> wrote: >> - Is a message tagged with Charles' header allowed to contain >> RFC 2047 stuff? (I would propose we say: MAY contain RFC >> 2047-encoded stuff) > > I prefer not to have a header, only negotiation before > transfer of data. If a header is used (there is a problem with > a header due to it have to be before all other headers to > simplify message handling), the rules should be the same as > fpr SMTP negotiated UTF-8. Yes. And some of the comments below are ultimately the strongest motivation for this. A sending MTA has to be able to say "I'm about to do something strange, i.e., send non-ASCII in the headers. Is that ok and do you know enough to avoid screwing things up?" and get back an affirmative response. Interestingly, if affirmative responses rarely occur, that would be an in-the-field demonstration of what I take to be Keith's key argument, i.e., that, despite all of the interest in the engineering community and discussion on this list, implementers and users really don't care and sticking with ASCII, or other things encoded into ASCII, is quite adequate. Like you, I don't believe that: I think that non-English-speaking communities, and especially non-Roman-script communities, will deploy this stuff relatively quickly in both MUAs and MTAs because they are convinced that they need it (just as (at least mimimal) implementations of 8BITMIME deployed fairly quickly in communities that thought it was important). But, ultimately, only the marketplace can figure that one out: we should try to focus on sensible ways to let people do things -- which they are convinced are important enough that they will do them in non-standard ways if we don't supply a standards -- but do them in a safe and rational way. And that brings me to... > When MTAs have negotiated for UTF-8, only UTF-8 should be used > - not RFC 2047. (the only exception to that rule could be to > send characters not in UCS). The reason for this is to > simplify handling of headers (parsing, decoding etc). When > UTF-8 is negotiated no RFC2047 handling should be needed. Dan, I don't think this is realistic, for the reasons Keith has cited repeatedly (even if I don't agree with his other conclusions). In practice, headers are supplied in different software at different points in the system. Our traditional rule for MTAs has been "don't tamper with what you get, but pass it on", a rule that recognizes the experience that, when MTAs try to correct or reformat message text (including headers), a lot of them get it wrong and create a mess. That is also why I was trying to work through an "encapsulate, rather than convert" strategy a few days ago. In this particular case, requiring an MTA to convert is a requirement that it support conversion between an arbitrary character encoding (in 2047 Q or B form) to Unicode and UTF-8. That implies that it must have tables to convert from every 2047-valid encoding to UTF-8, which is a near-impossibility, especially since some of those charsets may not have unambiguous conversions. The situation is obviously somewhat better when the 2047 encoding is of UTF-8 or some other Unicode flavor. But, still, I think that asking MTAs to start sorting through headers they receive, looking for translations to perform and then applying them, is just looking for trouble. We have just had far too much trouble in the past with systems declaring themselves gateways on the slightest pretense and then thoroughly messing up the header environment on the assumption that they know better about what was really intended than the original submission process did. john