一开始,我就不是一个程序员。这很奇怪,但问题越难我也能找到答案(谷歌任何人?)或者弄清楚(不,真的,是谷歌)。简单的东西(我知道这是因为我知道)?我真的遇到麻烦了。
我正在使用MVCMailer + Razor。我让它发送一封邮件(转储到c:/),一切都很好。我花了一些时间设置我的邮件(我仍然在玩弄逻辑-也许是一个关于不同主题的未来问题),我花了一些时间来设计它。几个解释性的(几个小时后),我弄不明白这一点。
首先,我正在从MVC2转换(使用工具升级,页面工作等)。首先,我继续使用Helper类在_Layout.cshtml类中引入样式表:
1) <head> ... <link rel="stylesheet" type="text/css" href="<%= Url.Stylesheet("Default") %>" media="all" />...</head>
当我拉出*.cshtml生成的邮件时,没有样式。注意:我的Default.css只是导入我的所有其他.css文件(我分离了头/内容/脚注/等等)。但是,我专门尝试加载用于邮件的.css文件(Mailer.css - original,我知道)。
其次,我从一些关于这个主题的流行博客中尝试了以下内容:
2) <head> ... <link rel="stylesheet" type="text/css" href="@Url.Content("../../Content/Default.css")" /> ... </head>
是的,我为那个帮手做了@using Namespace。在实际的电子邮件中没有样式。
最后,
3)我直接在*.cshtml文件中放置了一个<style>块。
啊,真灵。
我被难住了。是MVCMailer吗?我是不是完全漏掉了什么?我的目标不仅仅是一封文本邮件,没有什么花哨的东西(页眉/内容/页脚-一些字体样式和背景颜色)。
发布于 2011-04-01 01:23:57
这不是MvcMailer的问题。这是一个电子邮件客户端如何处理CSS文件的问题。
即使您的CSS文件链接正确,大多数电子邮件客户端也只使用内联CSS。看看这个:http://www.webreference.com/programming/css_html/
发布于 2011-03-31 09:53:40
我会尝试使用:
<link rel="stylesheet"
type="text/css"
href="@Url.Abs( Url.Content( "~/content/default.css" )" ) />您希望使用代字号将路径设置为相对于站点根目录。此外,urls需要是绝对的,而不是相对的。请参阅https://github.com/smsohan/MvcMailer/wiki/MvcMailer-Step-by-Step-Guide上的指南
发布于 2011-04-01 02:49:18
内联是最好的方法。
我在HTML中的块方面取得了一些成功,但我不想一刀切地依赖它。
https://stackoverflow.com/questions/5494445
复制相似问题