PHP邮件发送动态PHP内容

PHP邮件发送动态PHP内容,php,sendmail,php-include,Php,Sendmail,Php Include,我正在为我的客户创建每周更新,我想在这封邮件中包含最新的(新闻、文章、照片)。因此,我创建了“webmail.php”页面,该页面是使用MySql动态创建的,包含我想发送给客户端的所有更新,带有大量css和html内容。 我在脚本中使用了这段PHP代码 ob_start(); include ('webmail.php'); $content = ob_get_clean(); $message = $content; mail($email,$subject,$message,$headers

我正在为我的客户创建每周更新,我想在这封邮件中包含最新的(新闻、文章、照片)。因此,我创建了“webmail.php”页面,该页面是使用MySql动态创建的,包含我想发送给客户端的所有更新,带有大量css和html内容。 我在脚本中使用了这段PHP代码

ob_start();
include ('webmail.php');
$content = ob_get_clean();
$message = $content;
mail($email,$subject,$message,$headers); 
问题是我面临(500个内部服务器错误)。我确信我的webmail.php不包含任何错误,发生此问题是因为此页面是动态创建的。
有解决这个问题的办法吗?。谢谢

我想你漏掉了一点。。。如果动态生成
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;
}
然后,在您的第一页(发送电子邮件):


如果您的php没有错误,那么您就不会得到500分。有关详细信息,请查看Web服务器的错误日志。您所发布的内容在语义上是正确的PHP,对于调试来说是完全无用的,因为该代码段没有任何错误。不管bug是什么,它都在webmail.php中,您根本没有显示它
include_once("webmail.php"); // Get the function.
mail("recipient@address.tld", "Our latest news", latest_news());