2

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

4

2 回答 2

1

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

我刚刚发现这个非常棒的工具,它将样式定义和相关的 HTML 转换为内联样式定义。

于 2009-09-23T19:45:16.263 回答
1

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

这完全只是我的假设。

于 2009-09-23T20:40:59.957 回答