There are a few reasons as to why pictures won't show in the emails you send or receive.
Why don’t pictures show up in the emails I send or receive?
The person asking the question noted that he or she was getting red X’s in the spots where the images should be.
Naturally, there are several possibilities. I’ll review the common email formats and some of the ways that pictures can get lost in transmission.
It’s reasonably important to know that there are three common email formats:
- Plain Text email is, as it implies, plain text and nothing more. No formatting, no pictures, all in a single, unspecified font. All email
programs support plain text emails. Images can be included with plain text emails, but only as attachments.
- HTML email uses the same language that’s used to create web pages to format email. Almost everything you can do with a web page can be done in HTML mail – images, formatting, and so on.
- Rich Text email actually predates HTML email in common use. It’s a Microsoft format that works well between Microsoft email clients.
It also supports formatting, images, and more.
Email Format Conversion
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.
Of course if you send a plain text email message, everyone should be able to see it. If you include images as attachments, they should be able to view those as well, though not necessarily in their email program.
The good news is that most email is in either plain text or HTML, and most consumer email programs recognize both properly.
In HTML on a web page, images are not actually “in” the HTML text but rather they are stored as separate files that are referenced in the HTML. For example somewhere in the Ask Leo! home page is an HTML statement that essentially says “grab the file “http://img.askleomedia.com/askleonew.png” and display it here – the upper right corner.” The contents of the image, the .png file, are not contained within the HTML file but are referenced by it.
This presents a problem for HTML email, which is a single “thing”; a single message which should be self-contained. As a result there are two ways that images are included with HTML email.
The first is that they are not included in the email at all. In this approach, the HTML email works exactly like a web page – the HTML contains a
reference to the image, which is then downloaded and displayed as you look at the email. For example, my email could contain a reference to
“http://img.askleomedia.com/askleonew.png”. When someone opens that email, the mailer would go out to the server, download that image, and display it.
And here you can see at least one common cause for “red X’s” in your email. If the mailer, while displaying the email containing that reference, can’t locate the picture the result is a red X. The picture could have been removed, the server holding it could be down, or your machine could be disconnected from the internet. All have the same result.
The second approach actually includes the images as “hidden” attachments to your email, and encodes the references to them in a special way. Rather than referencing “http://img.askleomedia.com/askleonew.png”, the email might have a reference to using some special code that means to pick up the image contained in the first attachment and display it. This results in larger emails since the images are physically included, but you’re no longer concerned about locating the images since they came with the email.
One point of confusion between the two methods above is that you may not always be certain what type of email you’re creating. A copy/paste from a web page or HTML editor may generate the first type with pointers to images. Are those pointers correct? Will they work on the recipient’s machine? It’s hard to say, because it depends on the type of web page, the type of browser or tool you were using to view it, and even the mail program you were pasting into. Similarly a copy/paste from, say, an image editing program will commonly produce the second type if it works at all.
Because images can increase the size of your emails, many email programs allow you to select whether or not images should be sent with your email at all! In Outlook Express, as you compose a message, you’ll find an option labeled Send Pictures with Message on the Format menu. Make sure that’s selected to include any pictures with your outgoing messages. Other email programs may have similar or related options.
Now that we’re somewhat uncertain about what we’re sending, we’ll introduce even more uncertainty into what your recipients are viewing.
Outlook 2003 introduced a security feature whereby all remote images from untrusted addresses are displayed as red X’s by default. In order to view the images you must either add that sender to your safe sender’s list, or right click on one of the red X placeholders and specifically tell Outlook to download and display the images.
Most email programs that display HTML email actually use a browser such as Internet Explorer to do so. That implies that any settings you’ve made to your browser will also impact your HTML email. One such setting controls whether images are displayed at all. Turn that off in your browser, and chances are you’ve turned it off in your email as well.
Some email programs may understand HTML email, but not the referenced images as hidden attachments.
Email programs must save embedded images to disk in order to display them. If there’s not enough room or some other problem, then that may fail and the images not appear.
As you can see there are a lot of reasons that things might not work. Don’t let that discourage you, though. Experiment a little. Take a little time to understand how your emailer creates email from what you give it and how the people you send it to see it.
If things have been working, and suddenly do not, see what changed. If your images are coming from a remote server, is that server still available? Did you change your email program or perhaps a setting in your browser?
With the knowledge you now have, you should be able to at least make some educated guesses as to what’s happening and perhaps correct it.