This is, unfortunately, an extremely common question.
In fact, it happens to me from time to time as well. Someone forwards me an email with some humorous pictures (or better yet, pictures of Corgis), and some or all of them simply don’t display. It’s both frustrating and puzzling when it happens.
Email has evolved over the years, and as a result things aren’t always as compatible as we’d like them to be.
Let’s look at where the incompatibilities are most common, some of the ways that pictures can get lost, and one or two work-arounds that might help you view those all-important Corgi pictures that someone just sent you.
Three reasons for pictures not showing in email
There are three common reasons why pictures may not show in an email.
Before we look at each of those, we need to define a couple of things.
Attachments versus “in line” images
Images can be placed in email in either of two different ways:
- Attachments. These are files of any kind that accompany an email message. They usually appear as icons after the end of the message body, and typically you need to click on them to open or display them. Some email programs recognize attachments that happen to be images, and either display them after the text in the message, or display icons or thumbnails of the images.
- In-line. Images placed in-line are part of the email message body. Interspersed with the text of the message, sometimes with the text wrapping around the image, these are meant to display immediately as part of the message as you read it.
There are three formats that can be used to send email:
It’s also possible to send a single email that contains the same message encoded in different ways. Called a “multi-part mime” message and handled transparently by the email program sending the message, it’s typically used to include it in both HTML and plain text formats. The email program at the receiving end can then determine which format to display.
Problem 1: where the image lives
When we receive an email, we think of it as “containing” the images that are included – in other words, the images we see must have been sent with the email message itself.
That’s not always the case.
On the web, images are not part of the “.html” file that makes up a webpage. Instead, that file contains instructions on where to locate the image file, and then where on the page to display it. For example, on the Ask Leo! home page, https://askleo.com, the HTML that defines that page contains a reference that essentially says, “grab the file ‘https://img.askleomedia.com/askleonew.png’ and display it here in the upper right corner”. When the page is displayed in your browser, it’s your browser that interprets all that and fetches the image file as instructed by the page’s HTML code.
This presents a problem for HTML email. As I said, we think of an email message as a single “thing” – a single self-contained message. As a result, there are two ways images are used with HTML-formatted email (and, to a large extent, Rich Text email as well).
Images hosted elsewhere
In this approach, HTML email works exactly like a web page: the email message contains a reference to the image kept out on the internet somewhere, which is then downloaded and displayed as you look at the email.
If the mail program can’t locate the picture, the result is a red X. Possible causes include:
- The picture has been removed from wherever it had been placed.
- The server holding the picture is off-line.
- Your machine is off-line and unable to connect to the internet.
All have the same result: the picture can’t be found, and thus the image cannot be displayed.
Images accompanying the message
Other kinds of emails don’t provide an internet location for an image; instead, the images are “hidden” attachments, and special coding tells the email program to display them. This results in larger emails – often much larger – since the images are physically included with the message, but you’re no longer concerned about locating the images since they came with the email.
The problem here is that those “special codes” aren’t always as standard as we might expect. The result is that email encoded in this way by one email program may not actually display correctly by another. The result? The infamous “red x”.
Problem 2: converting email formats
Since we have three possible email formats: Plain Text, Rich Text and HTML, it should come as no surprise that, with the exception of Plain Text, not all formats are supported by all email programs. The net result is that if your email program doesn’t understand one of these formats, it still does its best with the message. Occasionally the best it can do is to not display the pictures in favor of at least displaying the text of the message.
Most non-Microsoft mailers don’t support Rich Text, so if someone receives an email in Rich Text format, the mailer may display a Plain Text version of the email instead, without the pictures. Similarly, if an HTML email is sent to someone whose email isn’t set up to handle HTML email, they may see a Plain Text version, or they may see raw HTML formatting codes sprinkled throughout the message.
The good news is that most email is in either plain text or HTML, and most consumer email programs recognize both properly.
Problem 3: settings in your email program
Since HTML email can be designed so that images are fetched from servers out on the internet when you look at an email, those servers are notified – in a sense – that you’ve looked at the email.
Spammers, in particular, love this. They can send you some spam, and if the image it contains is ever fetched from their server, they know that you opened their email. If they’re sending spam to millions upon millions of email addresses – some of which are good, others of which are not – they now know that the email they sent to your email address worked. You can expect more spam.
Email programs have countered this by including options not to display images that need to be fetched remotely. Those options, which vary from email program to email program, include behaviours such as:
- never displaying images unless you explicitly click on something to do so.
- never displaying images in email considered potentially suspicious or spam
- displaying images only from senders that you have indicated are safe, or are in your address book
The result in all these cases, and probably some scenarios that I’ve missed, is that your email program will display a red “X”, or something similar, in place of images – until you explicitly tell it to do otherwise.
What to do?
By now you can see that there are a lot of reasons that pictures might not show up in email. Unfortunately, they probably seem like a lot of technical reasons, many of which you might not even have control over.
When you can’t see that cute Corgi picture Aunt Lucy sent you, here’s a short list of things to try.
- Make sure your internet connection is working. Try visiting a web page like google.com and see if it loads. If not, and if the email you’re looking at is trying to fetch images remotely, that could easily be the cause.
- Make sure that your email program is configured to display images. Exactly how to do this will vary, of course, based on what email program you’re using.
- Make sure that your anti-malware tool is not attempting to interfere with image display. Some will attempt to duplicate an email program’s attempts to block images from questionable sources.
- If you have the option, try looking at the email using a different email program. If you use a desktop email program, try using your email provider’s web interface.
- Try forwarding the email to another email address you use on a different email service. Sometimes, for reasons unknown, simply forwarding will cause the images to be displayed before you even hit “Send”. In other cases, the other email service might be able to correctly interpret the images when your normal service cannot.
And finally, as a last resort, you can consider asking the sender to send the images as attachments rather than as inline images. While a bit of a burden, attachments are significantly less of a problem.