我正在尝试使用电子邮件中的嵌入图像作为背景图片,我已经有以下代码嵌入它:
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>
是否有人知道为什么它不会显示为背景?
非常感谢提前:)
答案 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);
在此之后您可以使用smtp设置