【问题标题】:html email problem with posted php variable已发布的 php 变量的 html 电子邮件问题
【发布时间】:2009-12-03 17:45:59
【问题描述】:

我正在发送带有 html 正文的电子邮件。正文 html 由带有 ajax 的 php 变量发布。但所有的 html 都会被忽略。

例如在 email.php 中

HTML 元素

<textarea id="html" cols="20" name="TextArea1" rows="2">HTML code is here</textarea>

Javascript

var html = $("#html").val();
$.post("function.php", {  html: html }, function(data) {

    if(data){
    //do sth

        }
        }); 

在函数php中

$body = "";
    $body .= $_POST['html'];

  //send email

我试过html_entity_decode,但没有运气。电子邮件已发送,没有 html 元素。我该怎么做?

谢谢

编辑:我遇到了问题,在 HTML 中有 ' 字符,它破坏了 HTML 结构。

但是我怎样才能避免这种情况,我仍然不知道......

编辑 2:stripslashes() 成功了!谢谢...

【问题讨论】:

    标签: php html ajax


    【解决方案1】:

    我会得到 firebug 并尝试在浏览器中遍历该过程并查看您传递给 php 页面的确切内容。您可能会发现您没有发布任何内容。我想如果 PHP 得到它,它至少应该能够为你打印出来作为回声。

    【讨论】:

    • 我做到了,它完美地传递了 HTML 代码。但是当它发送电子邮件时,电子邮件中只出现没有 HTML 元素(表格、单元格等)的文本......
    【解决方案2】:

    电子邮件发送代码是什么样的?要发送 HTML,您需要包含其他标题,请参阅 php 文档中的示例 #4:http://php.net/manual/en/function.mail.php

    【讨论】:

    • 我使用phpmailer,所有设置都可以用于html电子邮件,应该是关于变量的,不知道:S
    【解决方案3】:

    如果 (') 是你的问题意味着尝试

     $layout = addslashes($_POST['html']);
    

    它将像 (\') 这样的反斜杠添加到值中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-25
      • 2012-12-27
      • 2010-11-05
      相关资源
      最近更新 更多