GNOME Bugzilla – Bug 351955
evolution doesn't handle multipart mime/html email well
Last modified: 2013-09-13 00:49:03 UTC
Evolution doesn't display Multipart mime messages. Affects 2.7.x release How reproducible: 100% Steps to Reproduce: Click on e-mail message that has multipart mime Actual results: Nothing is displayed - seems like emtpy message with a long header Expected results: Message is displayed
Created attachment 71165 [details] test e-mail email which generates this issue. The difference between a (somewhat) working mail, and a non-working one: --- multipart-mime-email-message 2006-04-10 11:26:42.000000000 +0100 +++ multipart-mime-email-message4 2006-04-10 12:00:02.000000000 +0100 @@ -11,11 +11,11 @@ Fri, 7 Apr 2006 09:29:00 -0400 (EDT) Message-Id: <200604071329.k37DSiAf017299@sun69.ctc.com> Content-Transfer-Encoding: binary -Content-Type: multipart/related; type=text/html; boundary="_----------=_1144416812592800" +Content-Type: multipart/related; boundary="_----------=_1144416812592800" MIME-Version: 1.0 X-Mailer: MIME::Lite 2.117 (F2.6; B2.11; Q2.03) Date: Fri, 7 Apr 2006 13:33:32 UT -Subject: ETF-7204-IPsec.ctc.com (147.160.1.2)::Tunnel210 WAN Traffic +Subject: ETF-7204-IPsec.ctc.com (147.160.1.2)::Tunnel210 WAN Traffic Test4 From: netqos@ctc.com To: joseph@ctc.com Content-Length: 151389 See the "type" argument to the Content-Type. This doesn't work either with Evolution 2.6.0/EDS 1.6.0 (FC5). ---------------------------------------------------------------------------- The bug is also upstream in e-d-s' camel. camel/tests/message/test4.c is the one to test with. It should print: Content-Type: multipart/related Content-Type: text/html Content-Type: image/gif Content-Type: image/gif Content-Type: image/gif Content-Type: image/gif Content-Type: image/gif Content-Type: image/png Content-Type: image/png Content-Type: image/jpeg Content-Type: image/gif Content-Type: image/jpeg Content-Type: image/jpeg Content-Type: image/png instead of just: Content-Type: multipart/related ---------------------------------------------------------------------------- Using the attached message, headers are not parsed properly. In header_decode_param_list() in camel/camel-mime-utils.c (HEAD evolution-data-server) tries to parse: Content-Type: multipart/related; type=text/html; boundary="_----------=_1144416812592800" as being of type: text/html; boundary="_----------=_1144416812592800" instead of stopping at the ';', so the boundary never gets set. The result is that the message looks like a text e-mail and no HTML. ---------------------------------------------------------------------------- analysis by Bastien
Created attachment 71166 [details] Correctly rendered email how the email should be rendered
Created attachment 71167 [details] Evolution renders email incorrectly Screenshot of evolution incorrectly rendering the attached email
The content type header has to have *one* value. it is either text/html for a text only message, like Content-Type: text/html or multi-part/related with a boundary definition for a message containing attachments, like Content-Type: multipart/related; boundary="----=_part_2_2729.1112" Content-Type: multipart/related; type=text/html; is just plain wrong, the sender may file a bug against his broken mail application ("MIME::Lite 2.117"), but this is not evolution's fault.