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

Posted

技术标签:

【中文标题】在电子邮件中嵌入背景图像【英文标题】:Embedding background images in an e-mail 【发布时间】:2010-12-18 17:44:09 【问题描述】:

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

        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>

有谁知道为什么它不会显示为背景?

提前非常感谢:)

【问题讨论】:

【参考方案1】:

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

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

我只在 Apple Mail 中测试过这个 sn-p!

【讨论】:

【参考方案2】:

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

在使用您的电子邮件客户端进行测试之前,请检查以下内容: http://www.campaignmonitor.com/css/

【讨论】:

【参考方案3】:

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

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

【讨论】:

这里也一样!确实令人沮丧。【参考方案4】:

使用这个

字符串正文 = "";

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

【讨论】:

以上是关于在电子邮件中嵌入背景图像的主要内容,如果未能解决你的问题,请参考以下文章

如何在 HTML 电子邮件中嵌入图像? [复制]

使用 Gmail API 时,您能否以及如何在电子邮件中嵌入图像?

Gmail 阻止电子邮件模板中嵌入的小型嵌入式图像

在电子邮件正文中嵌入 base64 图像

Mandrill Mailchimp 如何在电子邮件正文中嵌入图像

Python,MIME,在电子邮件中嵌入图像