[Python-Dev] Completing the email6 API changes.
Stephen J. Turnbull
stephen at xemacs.org
Tue Sep 3 03:56:36 CEST 2013
R. David Murray writes:
> I'm still not understanding how the text/plain part *refers* to the
> related parts.
Like this: "Check out this picture of my dog!" Or this: "The terms of
the contract are found in the attached PDF. Please print it and sign
it, then return it by carrier pigeon (attached)." With this structure
multipart/alternative
text/plain
multipart/related
text/html
application/pdf
application/rfc6214-transport
the rendering of the text/plain part will not show evidence of the PDF
at all (eg, a view/download button), at least in some of the MUAs I've
tested. And it *should* not, in an RFC-conforming MUA.
> I can understand the structure Glen found in Applemail:
> a series of text/plain parts interspersed with image/jpg, with all parts
> after the first being marked 'Contentent-Disposition: inline'. Any MUA
> that can display text and images *ought* to handle that correctly and
> produce the expected result. But that isn't what your structure above
> would produce. If you did:
>
> multipart/related
> multipart/alternative
> text/html
> text/plain
> image/png
> text/plain
> image/png
> text/plain
>
> and only referred to the png parts in the text/html part and marked all
> the parts as 'inline' (even though that is irrelevant in the text/html
> related case), an MUA that *knew* about this technique *could* display it
> "correctly", but an MUA that is just following the standards most
> likely won't.
OK, I see that now. It requires non-MIME information about the
treatment of the root entity by the implementation. On the other
hand, it shouldn't *hurt*. RFC 2387 explicitly specifies that at
least some parts of a contained multipart/related part should be able
to refer to entities related via the containing multipart/related.
Since it does not mention *any* restrictions on contained root
entities, I take it that it implicitly specifies that any contained
multipart may make such references. But I suspect it's not
implemented by most MUAs. I'll have to test.
> I don't see any way short of duplicating the image parts to make it
> likely that a typical MUA would display images for both a text/plain
> sequence and a text/html related part. On the other hand, my experience
> with MUAs is actually quite limited :)
>
> Unless there is some standard for referring to related parts in a
> text/plain part?
No, the whole point is that we MUA implementers *know* that there is
no machine-parsable way to refer to the related parts in text/plain,
and therefore the only way to communicate even the *presence* of the
attachment in
multipart/related
text/plain
image/jpeg; name="dog-photo.jpg"
to the receiving user is to make an exception in the implementation
and treat it as multipart/mixed.[1]
It *does* make sense, i.e., doesn't require any information not
already available to the implementation.
I wonder if use of external bodies could avoid the duplication in
current implementations. Probably too fragile, though.
Footnotes:
[1] This is conformant to the RFC, as the mechanism of "relation" is
explicitly application-dependent.
More information about the Python-Dev
mailing list