如何在使用MvcMailer发送HTML电子邮件的同时使用PreMailer.Net内联CSS

Zac*_*Zac 2 css c# email premailer mvcmailer

使用MvcMailer,问题是我们的电子邮件是在没有CSS作为内联样式属性的情况下发送的.

PreMailer.Net是一个C#库,可以读取HTML源字符串,并返回带有CSS内联的结果HTML字符串.

我们如何一起使用它们?使用MvcMailer循序渐进指南中的脚手架示例,我们从UserMailer Mailer类中的这个示例方法开始:

public virtual MvcMailMessage Welcome()
{
    return Populate(x => {
        x.ViewName = "Welcome";
        x.To.Add("some-email@example.com");
        x.Subject = "Welcome";
    });
}
Run Code Online (Sandbox Code Playgroud)

Zac*_*Zac 6

只需安装PreMailer.Net通过金块

更新Mailer类:

public virtual MvcMailMessage Welcome()
{
    var message = Populate(x => {
        x.ViewName = "Welcome";
        x.To.Add("some-email@example.com");
        x.Subject = "Welcome";
    });
    message.Body = PreMailer.Net.PreMailer.MoveCssInline(message.Body).Html;
    return message;
}
Run Code Online (Sandbox Code Playgroud)

完成!