Hi

I have created a HTML email for my client and i am having a few problems. I built the email using a table and i have inserted images into table. These images are stored on my hosting account and the email downloads them from the host.

When i create the email using images and email to various different email account types everything works fine. However i replaced a couple of images for background images and suddenely i hit problems!

It worked fine on outlook 2003, virgin, btinternet plus a few others, but i when i emailed it to my client who uses outlook 2007, he couldnt see the image that was loaded as a background!

Does anyone know why or a way round it? I know all the debates on 'you shouldnt be sending HTML emails' etc but i am just creating what my client has asked for.

I know that some email accounts do not allow HTML emails etc. I do not understand why images would show but not background images.

Any help would be great
Gary

Dani AI

Generated

A likely root cause is the rendering engine used by Outlook 2007. That version switched to Microsoft Word for HTML rendering, and Word does not honor standard CSS background images the way browsers (and older Outlooks) do. That explains why externally hosted inline images can appear while CSS backgrounds disappear in that specific client. and raised useful possibilities around delivery and client settings, but when regular images load for some recipients the problem is usually rendering support rather than hosting or ISP filtering.

Practical approaches that work reliably across clients:

  • Convert any critical decorative background into real markup (slice the artwork and use <img> cells inside your table). Inline images with width/height, display:block, border:0 are the simplest cross-client fallback.
  • Add an Outlook-specific VML fallback so the background shows in Outlook 2007/2010. Wrap the VML in conditional comments so only MS Outlook sees it, and keep the normal CSS background for other clients. A minimal VML pattern looks like this:
<!--[if gte mso 9]>
<v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:600px;height:200px;">
  <v:fill type="frame" src="http://yourserver.com/bg.jpg" color="#ffffff" />
  <v:textbox inset="0,0,0,0">
<![endif]-->

  <!-- Your regular table/cell content goes here (and CSS background for non-Outlook clients) -->

<!--[if gte mso 9]>
  </v:textbox>
</v:rect>
<![endif]-->
  • If VML is too heavy, keep the background decorative and provide a good solid-color fallback plus clear alt text so the message still reads correctly.

Test the final HTML in real Outlook clients (or an email preview service), inline your CSS, optimize image file sizes, and use absolute URLs. These steps give a stable, predictable result for Outlook 2007 while preserving the look for clients that do support CSS backgrounds.

Recommended Answers

All 2 Replies

Hi
could you give me a more detailed explanation of the background images because some account wont let through HTML emails with backgrounds to big/small..even too bright/dark backgrounds.
Hope this helps ?
Reece

Your client should be taught why not to send html emails.

This could be:

- An ISP restriction on file size.
- An email client rendering the container too small to show the image.
- A firewall acting.
- An accessibility setting is suppressing backgrounds for text legibility.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.