我正在尝试发送带有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代码,以确保其可在大多数电子邮件客户端中使用。

10-06 06:44