使用System.Net.Mail时格式化电子邮件的最佳方法是什么

时间:2008-12-04 11:18:10

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

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

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

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

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

4 个答案:

答案 0 :(得分:5)

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

然而,这里有CSS in Email article可以回答你的问题,你会找到解决你的CSS问题的方法。

答案 1 :(得分:5)

电子邮件客户端不以统一的方式使用CSS,因此很难使用CSS。本文可以提供帮助 - http://www.alistapart.com/articles/cssemail/

答案 2 :(得分:2)

This reference是我发现的最好的,可以看到什么在电子邮件中的CSS方面有用。

说实话,CSS支持是如此,如此不稳定以至于你最好做的就像上一张海报所说并且坚持使用基本的HTML(是的,这意味着使用过时的字体标签等)。特别是当你提到Outlook时,那个(至少是最新版本)是最糟糕的罪魁祸首,当涉及到可怕的CSS支持时。

答案 3 :(得分:2)

您可以将样式保存在普通的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>