2009-12-03 54 views
0

我正在与HTML正文发送电子邮件。 Body html由php变量和ajax发布。但所有的html都会被忽略。张贴的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()函数来了!谢谢...

回答

0

我会得到萤火虫,并试图通过在浏览器中走过程&看你到底是什么传递到PHP页面。你可能会发现你没有发布任何内容。我想如果PHP得到它应该至少能够作为回声打印出来。

+0

我做到了,它完美地传递了HTML代码。但是当它发送电子邮件时,只有文本在电子邮件中没有显示HTML元素(表格,单元格等)... – 2009-12-03 07:14:01

0

电子邮件发送代码是什么样的?发送HTML你需要包括额外的头,见例如#4中的PHP文档:http://php.net/manual/en/function.mail.php

+0

我使用phpmailer,并且所有设置都适用于html电子邮件,它应该是关于变量的,不需要:S – 2009-12-03 07:34:02

0

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

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

这将增加反斜线像(\”)至价值。

+0

thx,stripslashes()是让它工作的东西...... – 2009-12-03 09:46:40