[Python-Dev] Completing the email6 API changes.
Glenn Linderman
v+python at g.nevcal.com
Mon Sep 2 07:55:58 CEST 2013
On 9/1/2013 8:03 PM, Stephen J. Turnbull wrote:
> This is getting off-topic IMO; we should probably take this thread to
> email-sig.
Probably, but you didn't :)
> Glenn Linderman writes:
>
> > I recall being surprised when first seeing messages generated by
> > Apple Mail software, that are multipart/related, having a sequence
> > of intermixed text/plain and image/jpeg parts. This is apparently
> > how Apple Mail generates messages that have inline pictures,
> > without resorting to use of HTML mail.
>
> (Are you sure you mean "text/plain" above? I've not seen this form of
> message. And you mention only "text/html" below.)
Yes, I'm sure it was text/plain. I may be able to access the archived
discussion from a non-Python mailing list about it, to verify, if that
becomes important. But now that you mention mulitpart/mixed, I'm not
sure if it was multipart/related or mulitpart/mixed for the grouping
MIME part. Perhaps someone with Apple Mail could produce one... probably
by composing a message as text/plain, and dragging in a picture or two.
The other references to text/html was in error.
> This practice (like my suggestion) is based on the conjecture that
> MUAs that implement multipart/related will treat it as multipart/mixed
> if the "main" subpart isn't known to implement links to external
> entities.
>
> > Other email clients handle this relatively better or worse,
> > depending on the expectations of their authors!
>
> Sure. After all, this is a world in which some MUAs have a long
> history of happily executing virus executables.
>
> > I did attempt to determine if it was non-standard usage: it is
> > certainly non-common usage, but I found nothing in the email/MIME
> > RFCs that precludes such usage.
>
> Clearly RFCs 2046 and 2387 envision a fallback to multipart/mixed, but
> are silent on how to do it for MUAs that implement multipart/related.
> RFC 2387 says:
>
> MIME User Agents that do recognize Multipart/Related entities but
> are unable to process the given type should give the user the
> option of suppressing the entire Multipart/Related body part shall
> be. [...] Handling Multipart/Related differs [from handling of
> existing composite subtypes] in that processing cannot be reduced
> to handling the individual entities.
>
> I think that the sane policy is that when processing multipart/related
> internally, the MUA should treat the whole as multipart/mixed, unless
> it knows how links are implemented in the "start" part. But the RFC
> doesn't say that.
>
> > Several of them treat all the parts after the initial text/html
> > part as attachments;
>
> They don't implement RFC 2387 (promoted to draft standard in 1998,
> following two others, the earlier being RFC 1872 from 1995). Too bad
> for their users.
Correct... but the MUA receiving the Apple Mail message I was talking
about being a text-mostly MUA, it is probably a reasonable method of
handling them.
> But what I'm worried about is a different issue,
> which is how to ensure that multipart/alternative messages present all
> relevant content entities in both presentations. For example, the
> following hypothetical structure is efficient:
>
> multipart/alternative
> text/plain
> multipart/related
> text/html
> application/x-opentype-font
>
> because the text/plain can't use the font. But this
>
> multipart/alternative
> text/plain
> multipart/related
> text/html
> image/png
> image/png
>
> often cost the text/plain receiver a view of the images, and I don't
> see any way to distinguish the two cases. (The images might be
> character glyphs, for example, effectively a "poor man's font".)
Yes, that issue is handled by some text MUA by showing the image/png (or
anything in such a position) as attachments. Again, being text-mostly,
that might be a reasonable way of handling them. Perhaps the standard
says they should be ignored, when displaying text/plain alternative.
> OTOH, if the message is structured
>
> multipart/related
> multipart/alternative
> text/plain
> text/html
> image/png
> image/png
>
> the receiver can infer that the images are related to both text/*
> parts and DTRT for each.
>
With the images being treated as attachments. Or is there a syntax to
allow the text/html to embed the images and the text/plain to see them
as attachments? I think the text/html wants to refer to things within
its containing multipart/related, but am not sure if that allows the
intervening multipart/alternative.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20130901/874f57b8/attachment.html>
More information about the Python-Dev
mailing list