如何使用css在电子邮件正文中发送网页

时间:2012-03-06 12:57:46

标签: c# asp.net html css email

我正在使用html表和asp.net标签在asp.net网页上创建报告。我必须通过电子邮件在邮件正文中发送完成的报告。我用以下c#代码完成了这个:

public bool SendEMail(List<string> emailList, string strSubject, string strMessage, bool isHTML)
    {
            MailMessage msg = new MailMessage();
            msg.From = new MailAddress(strFrom);
            //emailList is a list of email addresses to be sent to
            if (emailList != null && emailList.Count > 0)
                foreach (string em in emailList)
                {
                    msg.To.Add(em);
                }
            else
                return false;
            msg.Subject = strSubject;
            msg.Body = strMessage;
            msg.IsBodyHtml = isHTML;
            SmtpClient smtp = new SmtpClient(mailServer);
            smtp.Credentials = new System.Net.NetworkCredential(userName, usePass);
            smtp.Send(msg);
            msg.Dispose();
            return true;
        }

这很好用,但它只能在每个控件上单独设置表单内的样式。我怎样才能在html头部或样式表中包含css集? 还可以包括皮肤吗?

4 个答案:

答案 0 :(得分:10)

看一下这张图表:

http://www.campaignmonitor.com/css/

我建议您使用内联样式而不是添加外部CSS表

答案 1 :(得分:3)

样式化HTML电子邮件是一个痛苦的屁股,每个客户端(gmail / hotmail / outlook / yahoo)将自己的样式应用于某些高级元素。

一个好的经验法则是应用内联样式,例如:

<span style="display:block; background:red;">blah</span>

查看campaign monitor以查看哪些css规则有效,litmus如果您希望消除测试中的痛苦

答案 2 :(得分:0)

这可以像在网页上设置css一样完成。在邮件正文中,您可以使用完整格式的html文档,包括可以链接到外部样式表的头标记。只要css完全包含在文档中,或者链接中使用了完整的URL,就应该没问题。

答案 3 :(得分:0)

使用AlternateViews查看实现,如果您动态生成带有样式的电子邮件正文,这将有助于您。

http://microsoft.com/....alterviews.aspx