Join the AMA (Ask Me Anything) with the Firefox leadership team to celebrate Firefox 20th anniversary and discuss Firefox’s future on Mozilla Connect. Mark your calendar on Thursday, November 14, 18:00 - 20:00 UTC!

Mozilla 도움말 검색

고객 지원 사기를 피하세요. 저희는 여러분께 절대로 전화를 걸거나 문자를 보내거나 개인 정보를 공유하도록 요청하지 않습니다. "악용 사례 신고"옵션을 사용하여 의심스러운 활동을 신고해 주세요.

자세히 살펴보기

Inline images not displayed for HMTL email when having many recipients

more options

Use case 1. Two email accounts: personal.email@company.com and newsletter@company.com (yes, same domain / email server) 2. Draft HTML email created, images are embedded as:

3. As a test, email sent FROM: newsletter@company.com and BCC TO personal.email@company.com

Results:

  • Email received on personal.email@company.com
  • Inline images shown as expected

4. Draft HTML email created with *exactly* the same HTML content as (2). 5. Email sent FROM; newsletter@company.com and BCC TO personal.email@company.com and around 340 other email address on the same @company.com domain.

Results:

  • Email received on personal.email@company.com, and so do all other people.
  • Inline images are NOT shown in the email body, but instead the broken image icon is presented.
  • All images appear as attachments to the email.

Analysis on the 'sender side'


  • The copy of the email in the Sent mailbox of newsletter@company.com is shown correctly: all of its +-340 BCC email addresses and the email body correctly displays the inline images.
  • The copy of the email in the Sent mailbox of newsletter@company.com shows that images are referenced as expected like :

... and further down in the source the actual data as ...


2702A7729F6403F6B749C3F8

Content-Type: image/png;

name="kefbdhhlahelkdol.png"

Content-Transfer-Encoding: base64 Content-ID: <part1.33DDFB55.26FD061A@company.com> Content-Disposition: inline;

filename="kefbdhhlahelkdol.png"

iVBORw0KGgoAAAANSUhEUgAAA3QAAAFFCAYAAA...

==> From the sending side all appears to have been processed correctly by Thunderbird.

Analysis on the 'recipient side'


  • People using Thunderbird do not see the inline message, nor seeing these images as attachments.
  • HTML source shows the following:

... and further down ...


2702A7729F6403F6B749C3F8

Content-Type: image/png; name="kefbdhhlahelkdol.png" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="kefbdhhlahelkdol.png" Content-ID: <<part1.33DDFB55.26FD061A@companycom>>

iVBORw0KGgoAAAANSUhEUgAAA3QAAAFFCAYAAACkKa+aAA...

==> On the receiving side, all image data is available yet inline images are NOT shown.

Root cause


The Content-ID in the received email has TWICE the less then / greater than (or smaller than / larger than) characters:

Content-ID: <<part1.33DDFB55.26FD061A@company.com>>

Note the << >> formatting instead of < >. This should be:

Content-ID: <part1.33DDFB55.26FD061A@company.com>

This is confirmed by the following testcase: 1. Save the BAD email received on personal.email@company.com in step 5 as .eml 2. Edit the Content-ID, changing it from <<part1.33DDFB55.26FD061A@company.com>> to <part1.33DDFB55.26FD061A@company.com> using Notepad++ 3. Open the .eml file in Thunderbird ==> The image is shown inline as expected.

Observations


  • This behaviour seems to occurs ONLY when sending it to many many recipients (in BCC).
  • The draft HTML email I'm putting together is sent out for testing multiple times to myself in BCC, and a few others as well. Each time, the Content-ID reference is formatted correctly.

USER-AGENT: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101

Thunderbird/60.7.0
Use case 1. Two email accounts: personal.email@company.com and newsletter@company.com (yes, same domain / email server) 2. Draft HTML email created, images are embedded as: <img src="data:image/png;base64,iVBORw......" 3. As a test, email sent FROM: newsletter@company.com and BCC TO personal.email@company.com Results: * Email received on personal.email@company.com * Inline images shown as expected 4. Draft HTML email created with *exactly* the same HTML content as (2). 5. Email sent FROM; newsletter@company.com and BCC TO personal.email@company.com and around 340 other email address on the same @company.com domain. Results: * Email received on personal.email@company.com, and so do all other people. * Inline images are NOT shown in the email body, but instead the broken image icon is presented. * All images appear as attachments to the email. Analysis on the 'sender side' ----------------------------- * The copy of the email in the Sent mailbox of newsletter@company.com is shown correctly: all of its +-340 BCC email addresses and the email body correctly displays the inline images. * The copy of the email in the Sent mailbox of newsletter@company.com shows that images are referenced as expected like : <img src="cid:part1.33DDFB55.26FD061A@company.com" .... ... and further down in the source the actual data as ... --------------2702A7729F6403F6B749C3F8 Content-Type: image/png; name="kefbdhhlahelkdol.png" Content-Transfer-Encoding: base64 Content-ID: <part1.33DDFB55.26FD061A@company.com> Content-Disposition: inline; filename="kefbdhhlahelkdol.png" iVBORw0KGgoAAAANSUhEUgAAA3QAAAFFCAYAAA... ==> From the sending side all appears to have been processed correctly by Thunderbird. Analysis on the 'recipient side' -------------------------------- * People using Thunderbird do not see the inline message, nor seeing these images as attachments. * HTML source shows the following: <img src="cid:part1.33DDFB55.26FD061A@company.com" ... ... and further down ... --------------2702A7729F6403F6B749C3F8 Content-Type: image/png; name="kefbdhhlahelkdol.png" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="kefbdhhlahelkdol.png" Content-ID: <<part1.33DDFB55.26FD061A@companycom>> iVBORw0KGgoAAAANSUhEUgAAA3QAAAFFCAYAAACkKa+aAA... ==> On the receiving side, all image data is available yet inline images are NOT shown. Root cause ---------- The Content-ID in the received email has TWICE the less then / greater than (or smaller than / larger than) characters: Content-ID: <<part1.33DDFB55.26FD061A@company.com>> Note the << >> formatting instead of < >. This should be: Content-ID: <part1.33DDFB55.26FD061A@company.com> This is confirmed by the following testcase: 1. Save the BAD email received on personal.email@company.com in step 5 as .eml 2. Edit the Content-ID, changing it from <<part1.33DDFB55.26FD061A@company.com>> to <part1.33DDFB55.26FD061A@company.com> using Notepad++ 3. Open the .eml file in Thunderbird ==> The image is shown inline as expected. Observations ------------ * This behaviour seems to occurs ONLY when sending it to many many recipients (in BCC). * The draft HTML email I'm putting together is sent out for testing multiple times to myself in BCC, and a few others as well. Each time, the Content-ID reference is formatted correctly. USER-AGENT: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0

글쓴이 Pieter Breugelmans 수정일시

모든 댓글 (3)

more options

Are the recipients using TB blocking remote content from your domain, or do they have View/Message Body As set to anything besides Original HTML? Do they see the remote content when their account is accessed through webmail, to test if remote content is blocked by the mail provider?

more options

The domain is not blocked from showing remote content. TB does also NOT show the option that would allow such so it is not detecting it being required which is expected as all the inline images are embedded in the HTML email itself (base64 img src). There is no remote content being loaded.

The mail provider is our own corporate email server and the emails are not leaving the domain. All recipients including myself are within that domain.

What strikes me the most is that I too face the issue, but only when being part of the +-340 other recipients. Both in that case, as well as when I'm drafting it up and sending test emails to myself, I always go through the same process and sent it from the newsletter@company.com account.

EDIT1


The key question is why in case of a sending out a 'bulk' email to many recipients, the Content-ID values get formatted as << ... >> instead of < ... >.

The process as I understand on the sender side (me) it is like this:

  1. Draft up the email with HTML content, embedded / inline images
  2. Add all recipients (BCC)
  3. Sent the email

In the last step, Thunderbird processes the email and transforms the embedded base64 encoded image src values to CIDs. That 'processed' email is saved into the Sent folder and shows the correct formatting as < ... >.

Is the copy of the processed email that TB saves in the Sent box an exact copy of the data that is sent to the mail server?

글쓴이 Pieter Breugelmans 수정일시

more options

A little bump. :-)