thunderbird discards message body before first string of "<html>" when forwarding, if multiple <html> tags are written in HTML by mail sender, and if attribute is used in valid/first <html ...> tag, or if valid/first <html> tag is omitted)

RESOLVED DUPLICATE of bug 394322

Status

MailNews Core
Composition
RESOLVED DUPLICATE of bug 394322
9 years ago
19 hours ago

People

(Reporter: Matěj Cepl, Unassigned)

Tracking

({testcase})

Trunk
x86
All
testcase

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(4 attachments)

(Reporter)

Description

9 years ago
User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; cs-CZ; rv:1.9.1b4) Gecko/20090427 Fedora/3.5-0.20.beta4.fc11 Firefox/3.5b4
Build Identifier: thunderbird-3.0-2.4.b3pre.hg.6a6386c16e98.fc11.x86_64

(originally filed as https://bugzilla.redhat.com/show_bug.cgi?id=504320)

Send yourself the attached message.  In thunderbird, Note that when viewing it
in thunderbird, it has both a "body" and a "footer".  Now forward it inline. 
Observe how the "body" disappears from the forward.

Yes, the HTML in the message is bad, but (a) that's how I received it (although
obviously I've removed all the non-markup text for illustrative purposes), so
somebody's generating this bad HTML and thunderbird needs to cope with it, and
(b) if thunderbird can handle displaying it properly, then it should be able to
handle forwarding it properly.

Reproducible: Always

Steps to Reproduce:
1.see above
2.
3.
Actual Results:  
message is not the same

Expected Results:  
it should be
(Reporter)

Comment 1

9 years ago
Created attachment 381957 [details]
original message
(Reporter)

Comment 2

9 years ago
Created attachment 381958 [details]
forwarded message
Component: General → MIME
Product: Thunderbird → MailNews Core
QA Contact: general → mime
Version: unspecified → Trunk

Comment 3

9 years ago
Confirmed.

Tag structure of original message that causes this:

HTML
BODY
-- CONTENT --
/BODY
/HTML
HTML
BODY
-- FOOTER --
/BODY
/HTML

Seems that MS Outlook creates this bad code.

Note: Reply corrects HTML content by removing extra BODY and HTML tags, thus allowing the entire message to be replied to. Forward does not do this, dropping all but the last BODY block.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: testcase

Comment 4

8 years ago
Still broken in Thunderbird 3.1.1.
Still broken in Thunderbird 13.0, as seen in bug 777701.

(1) This bug                          Bug 777701
    <html>                            <html>
      <head>...</head>                  <head>...</head>
      <body>...BODY part...</body>      <body>...BODY part...
    </html>                               2nd HTML is inserted
    2nd HTML is appended                    <html>
    <html>                                  <head>...</head>
      <head>...</head>                      <body>...FOOTER part...</body
      <body>...FOOTER part...</body>      </html>>
    </html>                            </body>
                                       </html>
(2) In both cases, even when 2nd <html> was changed to HTML comment, problem was still observed. And, "BBB --->" was shown before FOOTER part by Forward inline.
  <1-- AAA
  <html>
  BBB -->
=> Bad handling of multiple <html> tags in text conversion by Forward inline.
   HTML comment process is broken by the bad <html> handling. 
(4) If 2nd <html> tag is removed(replaced by <htmlXXX>), problem disappears.
  <1-- AAA
  <htmlXXX>
  BBB -->
  <htmlXXX>
(4) Abve is observed with any of View/Message Body As mode.
    Original HTML, Simple HTML, Plain Text.
OS: Linux → All
Summary: thunderbird discards message body when forwarding → thunderbird discards message body when forwarding, if multiple <html> tags are written in HTML by mail sender
Additional check results.
(6) If attribute value is added to second or later <html> tags, all body text string including string in first <html xmlns..> are shown by Forward inline and problem disappears.
  <html xmlns...>    <head>...</head><body>...first-body-text....</body></html>
  <html id="root_02"><head>...</head><body>...second-body-text...</body></html>
  <html id="root_03"><head>...</head><body>...third-body-text....</body></html>
  <html id="root_04"><head>...</head><body>...fourth-body-text...</body></html>
If id attribute is removed from 2-nd to 4-th html tag, problem is reproduced and first-body-text is not shown by Forward inline.
(7) If attribute value of first html tag is removed, problem is not observed, even when no attribute in 2-nd to 4-th html tag.
  <html><head>...</head><body>...first-body-text....</body></html>
  <html><head>...</head><body>...second-body-text...</body></html>
  <html><head>...</head><body>...third-body-text....</body></html>
  <html><head>...</head><body>...fourth-body-text...</body></html>

Simlar "affect by atribute of <html> tag in Forward inline" is seen in problem of bug 313401 too, although that bug is problem only with "Simple HTML mode" && "multipart/related HTML mail" && "Single html tag only".
Created attachment 646759 [details]
Mail folder file of 5 crafted mails to see affect by id attribute of html tag

3 mails for this bug's problem.
> Test mail               #01            #02            #03        
>   1-st html :           <html id=1>    <html id=1>    <html>
>   2-nd html :           <html>         <html id=1>    <html>
>   3-rd html :           <html>         <html id=1>    <html>
>   4-th html :           <html>         <html id=1>    <html>
> Forward inline result 
>   body of 1-st html :   Not shown      Shown          Shown
>   body of 2-nd html :   Shown          Shown          Shown
>   body of 3-rd html :   Shown          Shown          Shown
>   body of 4-th html :   Shown          Shown          Shown

2 mails to see affect on HTML comment by multiple <html> tag when attribute is specified in first <html> tag.
> Test mail                  #11                      #12        
>   1-st html :              <html id=1>              <html id=1>
>   2-nd html :              <!-- A2 <html> B2 -->    <!-- A2 <html id=2> B2 -->
>   3-rd html :              <!-- A3 <html> B3 -->    <!-- A3 <html id=3> B3 -->
>   4-th html :              <!-- A4 <html> B4 -->    <!-- A4 <html id=4> B4 -->
> Forward inline
>   body of 1-st html :      Not shown                Shown
>   string in HTML comment:  "B1 -->" is shown        Nothing in comment is shown
>   body of other html :     Shown                    Shown
Summary: thunderbird discards message body when forwarding, if multiple <html> tags are written in HTML by mail sender → thunderbird discards message body when forwarding, if multiple <html> tags are written in HTML by mail sender and attriute is specified in first <html> tag
Duplicate of this bug: 777701
Created attachment 646804 [details]
Simpler test mails to see "Tb discards elements before first string of <html> upon Forward inline"

4 mails are simplest text/html mail.
            ----------- this bug -----------  ---------- bug 670884 ----------  
Test mail   #11              #12              #21              #22
            <html id=abc>    <html id=abc>    no <html> tag    no <html> tag
            <p>body text<p>  <p>body text<p>  <p>body text<p>  <p>body text<p>
            </html>          </html>
            <!--             <!--             <!--             <!--
            AAA              AAA              AAA              AAA
            <html>           <html id=abc>    <html>           <html id=abc>
            BBB              BBB              BBB              BBB
            -->              -->              -->              -->
Quoted message body text by Forward inline :
            BBB -->          body text        BBB -->          body text

Forward inline of Tb ignores any body element before the string of <html> in HTML comment, and interprets "string after <html> till -->" as body text.

Bug 313401 is perhaps special case of above problem.
  Even when no excess string of <html> exists after valid/first html tag
  with attribute value(<html xmlns...> or <html id=abc>),
  if mail is multipart/related HTML mail and if Simple HTML mode,
  similar situation to "excess string of <html>" is internally generated
  by sanitizing for Simple HTML mode.
Setting dependency of Bug 313401, for ease of tracking and problem analysis.
Blocks: 313401
Summary: thunderbird discards message body when forwarding, if multiple <html> tags are written in HTML by mail sender and attriute is specified in first <html> tag → thunderbird discards message body before first string of "<html>" when forwarding, if multiple <html> tags are written in HTML by mail sender, and if attriute is used in valid/first <html ...> tag or valid <html> tag doesn't exist
Component: MIME → Composition
Summary: thunderbird discards message body before first string of "<html>" when forwarding, if multiple <html> tags are written in HTML by mail sender, and if attriute is used in valid/first <html ...> tag or valid <html> tag doesn't exist → thunderbird discards message body before first string of "<html>" when forwarding, if multiple <html> tags are written in HTML by mail sender, and if attriute is used in valid/first <html ...> tag has attribute or valid/first <html> tag is omitted)
Summary: thunderbird discards message body before first string of "<html>" when forwarding, if multiple <html> tags are written in HTML by mail sender, and if attriute is used in valid/first <html ...> tag has attribute or valid/first <html> tag is omitted) → thunderbird discards message body before first string of "<html>" when forwarding, if multiple <html> tags are written in HTML by mail sender, and if attriute is used in valid/first <html ...> tag, or if valid/first <html> tag is omitted)
Summary: thunderbird discards message body before first string of "<html>" when forwarding, if multiple <html> tags are written in HTML by mail sender, and if attriute is used in valid/first <html ...> tag, or if valid/first <html> tag is omitted) → thunderbird discards message body before first string of "<html>" when forwarding, if multiple <html> tags are written in HTML by mail sender, and if attribute is used in valid/first <html ...> tag, or if valid/first <html> tag is omitted)
Duplicate of this bug: 866870
See Also: → bug 394322

Updated

a day ago
No longer blocks: 313401

Updated

19 hours ago
Status: NEW → RESOLVED
Last Resolved: 19 hours ago
Resolution: --- → DUPLICATE
See Also: bug 394322
Duplicate of bug: 394322
You need to log in before you can comment on or make changes to this bug.