我正在尝试发送带有HTML正文的电子邮件。
我在本网站和其他地方发现了很多例子,这些例子很好地解释了如何将LinkedResource类用于类型为IMG
的HTML TAG。
就我而言,我有以下代码:
<table id="page" style="border: 2px solid #ff0000; ">
<tr>
[...]
</tr>
</table>
和以下样式表:
#page {
width: 100%;
height: 100%;
top: 0;
right: 0;
background: url(https://www.example.com/img/bg.jpg) no-repeat center center;
position: fixed;
z-index: -1;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
这是代码:
MailMessage mail = new MailMessage();
AlternateView plainView = AlternateView.CreateAlternateViewFromString( plainTextMessage, Encoding.UTF8, "text/plain" );
mail.AlternateViews.Add( plainView );
AlternateView htmlView = AlternateView.CreateAlternateViewFromString( htmlTextMessage, Encoding.UTF8, "text/html" );
mail.AlternateViews.Add( htmlView );
mail.Body = htmlTextMessage;
mail.IsBodyHtml = true;
mail.To.Add( new MailAddress( customer.Email, customer.FullName ) );
mail.From = new MailAddress( "[email protected]", "My Web site" );
SmtpClient client = new SmtpClient();
client.Send( mail );
如何使用LinkedResource类嵌入背景图像?
最佳答案
您发布的代码将显示背景图像,具体取决于哪个电子邮件客户端正在查看电子邮件。 Outlook 2007-2010不会,Gmail或Yahoo也不会。苹果设备会。
对您的问题的评论建议将内容直接内联,这将有助于增加客户数量。但是,为了满足您的问题,我不确定LinkedResource是否可以用于此目的,但是您可能想尝试使用Bulletproof Backgrounds:https://backgrounds.cm
这将生成所需的HTML代码,以确保其可在大多数电子邮件客户端中使用。