2009-09-23 2 views
2

Предположим, у меня есть динамическая форма html, сгенерированная MVC-представлением (данные базы данных со строкой). Затем я хочу отправить тот же html с электронной почтой. Например, результат может быть примерно таким:как захватить динамический html и отправить его по электронной почте?

<div id="DivForPrint"> 
     <fieldset> 
      <legend>Hello</legend> 
      <table> 
       <tbody><tr> 
        <td> 
         <label for="ID"> 
          ID&nbsp;#:</label> 
        </td> 
        <td> 
         <span class="displayData"> 
          9 
         </span> 
        </td> 
        <td width="100%"></td> 
        <td> 
         <label> 
          Date: 
         </label> 
        </td> 
        <td width="100px"> 
         <span class="displayData"> 
          23/09/2009_2:28_PM 
         </span> 
        </td> 
       </tr> 
      </tbody></table> 
     </fieldset> 
    </div> 

Как его получить и отправить по электронной почте? даже я могу установить что-то вроде mail.IsBodyHtml = true; но таблица стилей недоступна при отправке электронной почты

ответ

1

Вы верны. Таблицы стилей недоступны, потому что подавляющее большинство клиентов клиентов электронной почты не загружают никакого внешнего контента, кроме изображений. Если вам нужен стилизованный контент, он должен быть создан с помощью встроенных определений стиля.

Я только что нашел это pretty awesome tool, который преобразует определения стилей и связанные с ними HTML в встроенные определения стиля.

+0

Из звуков этого я, по крайней мере, частично неправильно понял ваш вопрос, надеюсь, мой ответ по-прежнему был полезен. :) –

1

Я уверен, что вы можете получить выход на View, вызвав view.render в ViewResult в() метод, а затем, глядя на текст писателя, который был передан в.

Это полностью только мне, хотя гипотез ,

+0

Если это действительно работает, вы можете получить креатив и создать сервис для репликации инструмента, который я связал выше, а затем объединить ответ HTML из вашего представления с его связанной таблицей стилей (или локальным стилем - в зависимости от того) и отправить всю строку в служба для «inline-style-ification». Таким образом, вы сможете продолжать использовать связанные стили и просто создавать встроенные электронные письма полностью на лету. Это было бы здорово видеть! –

+0

Да, это так. Я сейчас очень занят, но я действительно думал об использовании Views для рендеринга html для электронных писем (это, вероятно, будет «вещью» в следующем проекте, над которым я работаю). Когда я займусь этой проблемой, я подниму несколько примеров кода. – Dusda

Смежные вопросы