2009-12-03 56 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