在电子邮件中嵌入背景图像

时间:2009-11-20 13:54:04

标签: c# image background embedded-resource mailmessage

我正在尝试使用电子邮件中的嵌入图像作为背景图片,我已经有以下代码嵌入它:

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

然后在电子邮件正文中我有以下代码进行测试:

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

它不显示,但当我把它作为这样的图像放入时很好:

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

是否有人知道为什么它不会显示为背景?

非常感谢提前:)

4 个答案:

答案 0 :(得分:6)

请注意,MS Outlook 2007,Live Hotmail等不支持具有某种背景图像的电子邮件内容,无论是正文,表格等。

在使用您的电子邮件客户端测试之前检查一下: http://www.campaignmonitor.com/css/

答案 1 :(得分:3)

遗憾的是,您无法在电子邮件中可靠地使用背景图片,因为许多流行的电子邮件客户端都无法呈现它们。

我花了很多令人沮丧的时间试图解决这个问题,但还没有找到一个好的解决方案!

答案 2 :(得分:1)

您是否尝试过以下操作?您可以在电子邮件中使用CSS - 只需使用background-image属性。

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

我仅在Apple Mail中测试了此代码段!

答案 3 :(得分:1)

使用此

string Body =“”;

AlternateView htmlView = AlternateView.CreateAlternateViewFromString(Body,null,“text / html”);

    LinkedResource imagelink = new LinkedResource(Server.MapPath("~/images/gmail_top.jpg"));

    LinkedResource imagelink1 = new LinkedResource(Server.MapPath("~/images/gmail_btm.jpg"));
    imagelink.ContentId = "imageId";
    imagelink1.ContentId = "imageId1";
    imagelink.TransferEncoding = System.Net.Mime.TransferEncoding.Base64;
    htmlView.LinkedResources.Add(imagelink);

    imagelink.TransferEncoding = System.Net.Mime.TransferEncoding.Base64;
    htmlView.LinkedResources.Add(imagelink1);

Mail.AlternateViews.Add(htmlView);

在此之后您可以使用smtp设置