MVCMailer + Razor + CSS горе - PullRequest
       2

MVCMailer + Razor + CSS горе

2 голосов
/ 31 марта 2011

Сразу же, я не программист. Это странно, но чем сложнее проблема, тем больше я могу найти ответ (Google кто-нибудь?) Или понять его (нет, правда, это Google). Легкая вещь (я знаю это, потому что я знаю)? У меня есть настоящие проблемы.

Я использую MVCMailer + Razor. Я получил его, чтобы отправить письмо (дамп в c: /), и все было отлично. Я потратил некоторое время на настройку своих писем (я все еще играю с логикой - возможно, будущий вопрос на другую тему), и я взял перерыв, чтобы оформить его. Несколько объяснений (и часов спустя), я не могу понять это.

Сначала я конвертировал из MVC 2 (использовал инструмент для обновления, страницы работали и т. Д.). Я продолжал использовать класс Helper для ввода таблиц стилей сначала в своем классе _Layout.cshtml:

1) <head> ... <link rel="stylesheet" type="text/css" href="<%= Url.Stylesheet("Default") %>" media="all" />...</head>

Когда я проверяю сгенерированную почту * .cshtml, стиль отсутствует. ПРИМЕЧАНИЕ: Мой Default.css просто импортирует все мои другие файлы .css (я выделяю header / content / footer / etc.). Однако я попытался специально загрузить файл .css (Mailer.css - оригинальный, я знаю), который я использую для писем.

Во-вторых, я попробовал следующее из некоторых популярных блогов на эту тему:

2) <<code>head> ... <link rel="stylesheet" type="text/css" href="@Url.Content("../../Content/Default.css")" /> ... </head>

Да, я сделал @using Namespace для этого помощника. Нет стилизации в фактическом электронном письме.

Наконец,

3) Я поместил блок <style> непосредственно в файл * .cshtml.

Это сработало.

Я в тупике. Это MVCMailer? Я что-то упустил полностью? Моя цель состоит в том, чтобы иметь больше, чем просто текстовое письмо, ничего особенного (header / content / footer - немного стиля шрифта и цвета фона).

Ответы [ 3 ]

4 голосов
/ 31 марта 2011

Это не проблема с MvcMailer.Проблема заключается в том, как почтовые клиенты обрабатывают файлы CSS.

Даже если ваш файл CSS правильно связан, большинство почтовых клиентов будут использовать только встроенный CSS.Проверьте это: http://www.webreference.com/programming/css_html/

0 голосов
/ 31 марта 2011

Inline - это путь.

У меня был некоторый успех с блоками в HTML, но я бы не хотел полагаться на это по всем направлениям.

0 голосов
/ 31 марта 2011

Я бы попробовал использовать:

 <link rel="stylesheet"
       type="text/css"
       href="@Url.Abs( Url.Content( "~/content/default.css" )" ) />

Вы хотите указать путь относительно корня сайта, используя тильду.Кроме того, URL должны быть абсолютными, а не относительными.См. Руководство на https://github.com/smsohan/MvcMailer/wiki/MvcMailer-Step-by-Step-Guide

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...