Subject: Images in news mails

From: Tobias Bussmann <[email-masked]>
Date: Thu, 4 Sep 2025 21:49:01 +0200

Ever since HTML emails were introduced for project news in around 2020, I have wondered why, on my system (macOS using Apple Mail as the MUA), emails were sometimes displayed in a distorted way. Today, I took the time to track it down. Apple Mail ignores the size if the image source is provided inline via CID and not referenced externally [2, footnote 3]. As a workaround, the width can be specified again in the 'style' tag, as I have done in the attached patch.

Another issue is that the Slonik logo is displayed again at the end of the email. In contrast to the first issue, this affects the Mail app on iOS as well. My analysis suggests that this is caused by the MIME structure of the email:
- multipart/mixed
  - multipart/alternative
    - text/plain
    - text/html
  - image/png with Content-Disposition: inline

This issue is resolved if I change the structure to the following:
- multipart/alternative
  - text/plain
  - multipart/related
    - text/html
    - image/png with Content-Disposition: inline

This change could be made in the send_simple_mail() function in the pgweb/mailqueue/util.py, but it would require further testing and refactoring to support regular and inline attachments simultaneously. I don't feel confident enough to do this without setting up a working test system of pgweb.
An alternative solution could be to utilise the embed_images_in_html() function in pgweb/news/util.py instead of attaching the image to the email.

With these changes applied, the mail is displayed correctly on Apple Mail [4].

Best regards
Tobias

[1]: <https://pasteboard.co/LBjIKy2V1Woe.png>
[2]: <https://www.caniemail.com/features/html-width/>
[3]: <https://pasteboard.co/WVLPyCzYaxB9.png>
[4]: <https://pasteboard.co/UGMvMYvpMZXG.png>

---

From: "Jonathan S. Katz" <[email-masked]>
Date: Fri, 5 Sep 2025 14:23:16 -0400

> With these changes applied, the mail is displayed correctly on Apple Mail [4].

This has plagued me for years, and I'm so happy you tracked this down!

The patch looks good; have you tested in a few other mail clients? I 
haven't had a chance to test yet.

Thanks,

Jonathan

---

From: Tobias Bussmann <[email-masked]>
Date: Sun, 7 Sep 2025 18:16:27 +0200

> This has plagued me for years, and I'm so happy you tracked this down!

I'm happy to hear, I'm not the only one seeing this. Glad to help!

> The patch looks good; have you tested in a few other mail clients? I haven't had a chance to test yet.

I haven't tried other mail clients myself, but as the style definition is just redundant to the img attributes, I wouldn't expect any regression by this. But HTML emails are full of miracles ;)

Litmus.com has become quite expensive for render previews, so I looked for alternatives. I found Testi.at, which offers some free tests at least. Unfortunately, I was unable to provide the full MIME structure there and thus could not simulate the CID-referenced image that causes the problem in Apple Mail. When I experimented with an externally hosted image, the result looked good in the provided previews. However, I visually identified another issue: Outlook does not seem to support the 'float' style attribute [1 footnote 1]. In the v2 patch, I implemented a workaround to duplicate the 'float' style using an 'align' img attribute. Previews of the resulting rendering can be found at [2].

Best
Tobias

[1]: <https://www.caniemail.com/search/?s=float>
[2]: <https://testi.at/proj/7oveul95szn3cz5as6>

---

From: Magnus Hagander <[email-masked]>
Date: Mon, 8 Sep 2025 10:50:46 +0200

> I'm happy to hear, I'm not the only one seeing this. Glad to help!

What's more amazing is that AFAIK this is the first time *anyone* has
reported this to be a problem. And it's been this way since 2020...

It is also slightly ironic that it's apple mail that's seeing the problem,
given it's quite overrepresented in *generating* broken attachments in
similar ways when you look in the archive :)

> I haven't tried other mail clients myself, but as the style definition is
> just redundant to the img attributes, I wouldn't expect any regression by
> this. But HTML emails are full of miracles ;)
>

Indeed it does. For example, you mentioned the possibility of embedding the
image instead of attaching - that *does* break multiple clients, I think at
least Outlook and maybe also gmail.

> Litmus.com has become quite expensive for render previews, so I looked for
> alternatives. I found Testi.at, which offers some free tests at least.
> Unfortunately, I was unable to provide the full MIME structure there and
> thus could not simulate the CID-referenced image that causes the problem in
> Apple Mail. When I experimented with an externally hosted image, the result
> looked good in the provided previews. However, I visually identified
> another issue: Outlook does not seem to support the 'float' style attribute
> [1 footnote 1]. In the v2 patch, I implemented a workaround to duplicate
> the 'float' style using an 'align' img attribute. Previews of the resulting
> rendering can be found at [2].
>
>
PGEU does have a subscription to a service that could be used for testing.
We'd need to adapt the test instance of the website for it, but that's
fairly easy to do.

I'll also see if I can dig out my old notes for how we ended up in this
stricture in the first place, because it did go back and forth a bunch
before actually merged.

//Magnus

---

From: Magnus Hagander <[email-masked]>
Date: Tue, 2 Dec 2025 22:30:44 +0100

On Mon, 8 Sept 2025 at 10:50, Magnus Hagander <[email-masked]> wrote:

> Indeed it does. For example, you mentioned the possibility of embedding
> the image instead of attaching - that *does* break multiple clients, I
> think at least Outlook and maybe also gmail.
>

I have pushed the patch that adds the extra attributes now. Somehow I
thought I had to review a more complex patch and.. Put it off :)

>> Litmus.com has become quite expensive for render previews, so I looked
>> for alternatives. I found Testi.at, which offers some free tests at least.

Been testing one with that. But in that service now *all* our emails are
broken on *all* MUAs, so it's not really working... I've filed a bug with
them, we will see if they can figure it out.

-- 
 Magnus Hagander
 Me: https://www.hagander.net/ <http://www.hagander.net/>
 Work: https://www.redpill-linpro.com/ <http://www.redpill-linpro.com/>

---

From: Magnus Hagander <[email-masked]>
Date: Wed, 7 Jan 2026 21:46:18 +0100

On Thu, 4 Sept 2025 at 21:49, Tobias Bussmann <[email-masked]> wrote:

> Ever since HTML emails were introduced for project news in around 2020, I
> have wondered why, on my system (macOS using Apple Mail as the MUA), emails
> were sometimes displayed in a distorted way. Today, I took the time to
> track it down. Apple Mail ignores the size if the image source is provided
> inline via CID and not referenced externally [2, footnote 3]. As a
> workaround, the width can be specified again in the 'style' tag, as I have
> done in the attached patch.
>
> Another issue is that the Slonik logo is displayed again at the end of the
> email. In contrast to the first issue, this affects the Mail app on iOS as
> well. My analysis suggests that this is caused by the MIME structure of the
> email:
> - multipart/mixed
>   - multipart/alternative
>     - text/plain
>     - text/html
Wow, this was a lot of fun. Not.

I have changed the code to restructure like this and it mostly works. It
now breaks in the gmail app on android when connected to our company
emulated-exchange interface. But it fixes apple mail. I think there are a
lot more apple mail out there, so I think it's a strict improvement :)

Thanks for the diagnosing work! I hope this does properly fix it!

//Magnus