php - 如何在网页上显示用于预览的 HTML 电子邮件?

标签 php html email

我正在尝试显示 HTML 电子邮件的“预览”。我的数据库中有 HTML,现在我需要在 iframe 或弹出窗口或其他东西中呈现它。我试图将 html 注入(inject)页面上的 div 标记,但它不会显示任何内容。这是我遇到的问题(我有嵌套的 HTML 标签):

<html>
    <body>
        <h1>My page</h1>
        <div id="email-body">
            <html>
                <body>
                    <p>email</p>
                </body>
            </html>
        </div>
    </body>
</html>

最佳答案

您可以将 HTML 写入弹出窗口。

var preview = window.open("", /* options */);
preview.document.write(html);
preview.document.close();

但是像我一样,很多人不喜欢弹出窗口。另一个考虑是只显示 <body>内容。更好的是,大多数邮件客户端都支持它。内容类型为 text/html ,您可以发送 HTML 邮件,就好像它是 HTML 的一部分 <body> .

<p>email</p>

通过这种方式,您可以像往常一样将它注入(inject)到主页的某个 div 中进行预览。

如果你喜欢样式元素,但不喜欢内联样式,你也可以添加 <style>元素。大多数邮件客户端也只支持它。

<style>p { font-family: arial, sans-serif; }</style>
<p>email</p>

从 HTML 纯粹主义者的角度来看,这在语法上确实是无效的。但它有效(也在网络浏览器中!)并且大大简化了这些事情。

关于php - 如何在网页上显示用于预览的 HTML 电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2473596/

相关文章:

html - 如何在 <li> 中添加图像

css - 推特 Bootstrap 中不需要的边距

javascript - PHP 邮件表单不会将输入发送到电子邮件

java - 将 JavaMail 与 SSL 和 TLS 结合使用

php - 如何为内联元素创建带有 HTML 内容的纯 CSS 工具提示

php - 无法调用未定义的handlebars.js的方法 'match'

php - 添加 ?ref 后弹出框未出现

php - while 循环中的 while (mysql_fetch_array)

javascript - php mysql 用户评分和评论系统

php - PHP邮件功能无法完成电子邮件的发送