如何获取动态HTML并通过电子邮件发送出去?

时间:2009-09-23 19:31:28

标签: asp.net-mvc html-email

假设我有一个由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;但发送电子邮件时无法使用样式表

2 个答案:

答案 0 :(得分:1)

你是对的。样式表不可用,因为绝大多数电子邮件客户端不会加载除图像之外的任何外部内容。如果您想要样式化内容,则应使用内联样式定义创建。

我刚发现这个pretty awesome tool会将样式定义和相关的HTML转换为内联样式定义。

答案 1 :(得分:1)

我很确定你可以通过调用ViewResult的View.Render()方法获取View的输出,然后查看传入的文本编写器。

这完全是我假设的。