【问题标题】:What is the best method for formatting email when using System.Net.Mail使用 System.Net.Mail 时格式化电子邮件的最佳方法是什么
【发布时间】:2008-12-04 11:18:09
【问题描述】:

您好,我正在使用System.Net.Mail 发送一些 HTML 格式的电子邮件。

在电子邮件中插入 css 的正确方法是什么?

我知道我可以对每个项目应用格式,但我宁愿使用样式表..

编辑 我应该提到这是针对内部应用程序,我希望 99% 的用户使用 Outlook 或其他客户端,但从不使用 hotmail 或 gmail 等。

【问题讨论】:

    标签: c# asp.net css system.net.mail


    【解决方案1】:

    我一直发现严格使用 HTML 3.0 兼容标签和格式最适合所有电子邮件阅读器和提供商。

    尽管如此,这里有一个CSS in Email article 可以回答您的问题,您会找到解决您的 css 问题的方法。

    【讨论】:

      【解决方案2】:

      电子邮件客户端没有以统一的方式使用 CSS,因此很难使用 CSS。这篇文章可以帮到你-http://www.alistapart.com/articles/cssemail/

      【讨论】:

        【解决方案3】:

        您可以将样式保存在普通的 CSS 文件中,使用 File.ReadAllText 加载它们并将它们插入到 HTML 字母模板中

        string letter = File.ReadAllText(Request.PhysicalApplicationPath + "letter.html");
        string style = File.ReadAllText(Request.PhysicalApplicationPath + "style.css");
        
        MailMessage message = new MailMessage();
        message.Body = letter.Replace("{STYLE}", style);
        

        信函模板应在适当位置包含 {STYLE}

        <head>
            <title></title>
            <style type="text/css">
                {STYLE}
            </style>
        </head>
        <body>
        

        【讨论】:

        • 此方法不适用于 gmail,因为 gmail 根本不接受
        【解决方案4】:

        This reference 是我发现的最好的一个,它可以看到在电子邮件中的 CSS 中什么是有效的。

        老实说,CSS 支持是如此的脆弱,以至于你最好像上一张海报所说的那样坚持基本的 HTML(是的,这意味着使用过时的字体标签等)。尤其是当您提到 Outlook 时,它(至少是最新版本)是糟糕的 CSS 支持的最大罪魁祸首。

        【讨论】:

          猜你喜欢
          • 2014-10-15
          • 2010-10-30
          • 1970-01-01
          • 2010-12-21
          • 2013-02-12
          • 1970-01-01
          • 2011-06-18
          • 2014-08-19
          • 2016-05-23
          相关资源
          最近更新 更多