2014-03-06 70 views
0

我正在爲我的客戶創建一個每週更新,並且我希望在此郵件中包含最新(新聞,文章,照片)。所以我創建了「webmail.php」頁面,創建了動態使用MySql,包含我想發送給我的客戶端的所有更新,包含大量的CSS和html內容。 我用我的劇本PHP郵件發送動態PHP內容

ob_start(); 
include ('webmail.php'); 
$content = ob_get_clean(); 
$message = $content; 
mail($email,$subject,$message,$headers); 

問題是我現在面臨(500內部服務器錯誤)這個PHP代碼。我敢肯定,我的webmail.php不包含錯誤,並且發生此問題是因爲此頁面已動態創建。 任何想法來解決這個問題?由於

+2

如果你的PHP沒有錯誤,那麼你就不會得到一個500檢查你的web服務器的錯誤記錄更多細節。你發佈的語義上正確的PHP,並且對於調試絕對無用,因爲該代碼片段沒有任何問題。無論這個錯誤是什麼,它都在webmail.php裏,你根本沒有顯示過 –

回答

2

我想你錯過了一個點那裏...如果是動態生成webmail.php(這意味着它實際上包含您的信息),那麼你可以使用讀取其內容:

$news = file_get_contents("webmail.php"); 

和只需發送$news作爲您的電子郵件正文。但是,如果webmail.php實際產生的內容(這意味着它產生它傳遞給PHP解釋器時),那麼也許你應該考慮在這個文件中,而不是使用功能:

webmail.php

function latest_news(){ 
    // Gets news from database, put them into $news. 
    return $news; 
} 

那麼,你的第一頁(發送電子郵件):

include_once("webmail.php"); // Get the function. 
mail("[email protected]", "Our latest news", latest_news());