views:

565

answers:

3

Hi,

I'm trying to use an embedded image in an e-mail as the background image, i've got the following code to embed it:

        LinkedResource backgroundLink = new LinkedResource("..\\..\\background.gif");
        backgroundLink.ContentId = "BackgroundImage";
        backgroundLink.TransferEncoding = System.Net.Mime.TransferEncoding.Base64;
        htmlView.LinkedResources.Add(backgroundLink);
        m.AlternateViews.Add(htmlView);

Then in the e-mail body i've got the following code to test:

        <table background='cid:BackgroundImage'>
            <tr>
               <td>
                  test
               </td>
            </tr>
        </table>

It doesn't display, but when i put it in as an image like this is is fine:

         <table>
            <tr>
               <td>
                  <img src='cid:BackgroundImage' />
               </td>
            </tr>
        </table>

Does anyone one know why it won't display as a background?

Many thanks in advance :)

A: 

Did you try the following? You can use CSS in your E-Mails - just use the background-image property.

<table style='background-image:url(cid:BackgroundImage)'>
            <tr>
               <td>
                  test
               </td>
            </tr>
        </table>

I have tested this snippet only in Apple Mail!

brainfck
+3  A: 

Do note that MS Outlook 2007, Live Hotmail etc do not support email content with background images of an sort, be it body, tables etc.

Check this before testing with your email client: http://www.campaignmonitor.com/css/

o.k.w
+1 for useful link about what styles email clients use
David Liddle
+1  A: 

Unfortunately you cannot reliably use background images in e-mails as many popular email clients do no render them.

I've spent many frustrating hours trying to work around this and as yet have not found a nice solution!

Adam Pope
Same here! Frustrating indeed.
o.k.w