6

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

        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

4 回答 4

6

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

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

于 2009-11-20T14:00:27.877 回答
4

不幸的是,您不能可靠地在电子邮件中使用背景图像,因为许多流行的电子邮件客户端不会呈现它们。

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

于 2009-11-20T14:05:21.783 回答
1

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

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

我只在 Apple Mail 中测试过这个片段!

于 2009-11-20T13:56:08.550 回答
1

用这个

字符串正文 = "";

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 设置

于 2013-12-12T09:45:44.663 回答