Hi Ned,
Translating ESCs to readable plaintext is an exciting proposition but only
if a message or other user interface containing the translation does not
lose the original plaintext portion in the original DSN report without the
user's consent. That's simply a courtesy and, while I'd like to think
ESCs can convey every possibility with good enough gradation to be useful,
obviously there's the possibility that the code won't be a substitute for
the human-readable supplemental lines provided by the sending MTA.
Whether that's important to a non-English user is obviously hard to say,
but it wouldn't be a problem in any event if every MUA actually did
translation of the machine-readable portion for itself. Since (as far as
I can see) they do not and the technique is mostly reserved by automatic
robots (MLMs, etc), the only question now remaining is how we might let
MTAs rewrite DSNs on behalf of our non-English-speaking friends who use
MUAs that will not translate.
For me, I'm thinking the answer is that the MTA delivering my mail send
not only the DSN to my mailbox but also a rewritten version of DSNs it
transports for delivery to local users as detected by a null sender and
multipart/report parts; the text part of the report can tell me about the
original copy I've been sent (multipart/report MIME parameters telling of
the original Message-Id, perhaps, and how this is only a translation?) and
contains an enumeration and translation of status in the original's
machine-readable section. The machine-readable section could,
furthermore, also be rewritten such that parenthetic text be translated to
a local language. The resulting message should be a valid DSN in and of
itself and, if local users chose, could be the only version of a DSN
received (the original being discarded - although perhaps there are
dangers there). Also, this service is more-or-less exclusively useful to
users reading mail with user agents, since the criticality of multiple
DSNs for a single transaction being misinterpreted by a computer program
to mean multiple identical failures (EG: MLMs seeing two failed sends when
only one is intended) might be significant. There would have to be some
breathing room somewhere in the spec to avoid that possibility if this
sort of thing were to be preferable. Alternatively, if it isn't actually
necessary to preserve the machine-readability of translations, then
breaking the DSN format isn't an issue and the problem goes away. The
point is to have machine-assisted translation but only if the kind of
rewriting done isn't destructive, and I think a separate message is the
best way, although MIME encapsulation is just as likely to work.
As a sidenote: sendmail seems to do a limited amount of translation on
SMTP responses containing ESCs. You can find them in DSN transcripts in
the plaintext portion of the report. The translations are not thorough
and are based as much on the code as on the state sendmail's client code
was in when it hit trouble.
Cheers,
Sabahattin
--
Sabahattin Gucukoglu <mail<at>sabahattin<dash>gucukoglu<dot>com>
Address harvesters, snag this: feedme(_at_)yamta(_dot_)org
Phone: +44 20 88008915
Mobile: +44 7986 053399
http://sabahattin-gucukoglu.com/