3

我有一个简单的 HTML 代码可以使用 C# API Sendgrid 和 Templates 发送到某个电子邮件: 在此处输入图像描述

当我尝试查看它的预览时,它看起来像我预期的那样: 在此处输入图像描述

但是当电子邮件被传递时,它无法识别“样式”或任何 css 代码..

在此处输入图像描述

这是我的代码:

static async Task Execute()
    {
        var apiKey = Environment.GetEnvironmentVariable("SENDGRID_API_KEY");
        var client = new SendGridClient(apiKey);
        var msg = new SendGridMessage();
        msg.SetFrom(new EmailAddress("test@example.com", "Example User"));
        msg.SetSubject("I'm replacing the subject tag");
        msg.AddTo(new EmailAddress("myEmail", "Nathiel"));
        //msg.AddContent(MimeType.Text, "I'm replacing the <strong>body tag</strong>");
        msg.SetTemplateId("MyTemplateId");
        msg.AddSubstitution("-cepFrom-", "54315-310");
        var response = await client.SendEmailAsync(msg);
        Console.WriteLine(response.StatusCode);
        Console.WriteLine(response.Headers.ToString());
        Console.WriteLine("\n\nPress any key to exit.");
        Console.ReadLine();
    }

我不知道怎么了!

4

1 回答 1

1

因为样式是客户端关注的问题,所以有多种方法可以在电子邮件中呈现 CSS。一般来说,大多数事情都停留在过去。使用 HTML 4 并仅支持基本的 CSS 属性是确保您的电子邮件在许多不同客户端中正确呈现的最佳方式。

这里的主要问题是您需要内联 CSS 样式而不是将它们放在头部。这是一个很好的入门指南:https ://litmus.com/blog/a-guide-to-css-inlining-in-email

于 2017-04-05T14:31:51.243 回答