我有一个网站,它使用引导程序和引导程序主题。我的网站还会在网站用户触发某些操作时向他们发送通知电子邮件。
我希望发送的通知电子邮件的正文是格式良好的 HTML 内容,具有与主网站相同的外观和感觉。
我一直被教导要编写 DRY 代码,并使事情尽可能可维护,所以我想在电子邮件中包含我的网站作为嵌入文件使用的相同引导 CSS,并拥有 CSS 的 HTML 正文引用,所以如果我决定更改我网站的主题,它会自动重新设置我的通知电子邮件的样式。
我System.Net.Mail.SmtpClient
用来发送电子邮件,并使用 AlternateViews 添加内容。如果电子邮件被离线查看,我不想将实时引用包含回我的网站的 css,所以我想嵌入 css。
我不知道如何将 CSS 文件读入字符串,并将其附加到电子邮件中。在我的 BundleConfig 中,我有这个:
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap-sandstone.css",
"~/Content/site.css"));
所以我尝试了:
var css = File.ReadAllText(HttpContext.Current.Server.MapPath("~/Content/css"));
但正如我认为可能发生的那样,它引发了 FileNotFound 异常。
我可以使用什么来让我传入~/Content/css
和传出 css?