I have an application that sends HTML e-mails.
These e-mails contain embedded images (.jpg files).
The images are loaded and displayed immediatelly in various e-mail clients (Gmail, Proton, Outlook (desktop and web)) without any problems.
Unfortunately, in the Mail app on the iPhone/iPad the images are not always loaded.
First no indication of the images is visible, after a few minutes a the square with the question mark is visible. Some images are loaded and some not.
I cannot identify any pattern.
I tried to change the images and reduce their size.
The generated HTML looks something like this:
[...]
<table id="foo" class="section" width="100%" style="border-spacing: 0; margin: 0; width: 100%" border="0" cellpadding="0">
<tbody>
<tr>
<td class="superTitle" id="-1714697250">
foo
<a name="-1714697250"></a>
</td>
</tr>
<tr>
<td class="image">
<a href="https://any-url.com/home/link_click.aspx?LinkKey=BTVJg29&i=HiV4d2bjr8MA" target="_blank">
<img width="100%" alt="" src="https://any-url.com/download/NewsletterItem/1/11050_40863_box.jpg">
</a>
</td>
</tr>
[...]
</tbody>
</table>
[...]
I am not experienced in building HTML e-mails nor am I an iPhone/iPad developer.
3
Answers
Most often the cause is the settings on the smart phone being set to prevent the downloading of email images by default. On most phones, the default behavior is that they have to download the images manually, usually by a button or setting in the email client, if they want to see the images attached to that particular email12.
However, there could be other reasons why images are not displayed in HTML emails on mobile devices. For example, some email clients may not support certain image formats or may have size limitations3.
I hope this helps.:)
Email clients have different levels of support for HTML and embedded images. The best you can do is try to follow these best practices. However, it is recommended to test this in different devices.
1 – Please keep the email size to a minimum
2 – Embedding the images within the email using base64 encoding
3 – Your images should be hosted on a site that is https, not http
Apple Mail is often (usually?) setup not to download remote images when opening the email. This is to prevent spammers from verifying you have a valid email address and have read their message (they could do this by embedding an invisible image with a unique URL, then logging when that is retrieved from the server).
If your email is enticing enough, users will be used to clicking on "load remote images" to see what they are missing. But if they are not interested, you are out of luck with your current setup.
One way around this may be to embed the image in the email itself instead of referring to an image on a server. This can be done either by encoding the image directly as base64 data in the
img
tag or by writing an email with a multipart body that includes the image as an attached object that can be referenced from the html (sorry, I don’t know the standards for doing this but you may be able to figure it out by using "view message source" on an email that successfully includes the images in the message itself). You will probably need to experiment to figure out which of these solutions work, if either.