我有发送邮件的功能。当我使用它时,邮件会成功发送,但页面最终会出现错误500.
在php文件的顶部,我有:
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
该功能如下所示:
function sendmail($to, $subject, $message)
{
$headers = "From: info@mosaique-oost.nl\r\n";
$headers.="Reply-to: info@mosaique-oost.nl \r\n";
$headers.="MIME-Version: 1.0\r\n";
$headers.="Content-Type: text/html; charset=ISO-8859-1\r\n";
// echo "To: ".$to;
// echo "Subject: ".$subject;
// echo "Message: ".$message;
//die("Headers: ".$headers);
try{
mail(mysql_escape_string($to), mysql_escape_string($subject), mysql_escape_string($message), mysql_escape_string($headers));
}catch (Exception $e)
{
die($e->getMessage());
}
die($headers);
}
我没有收到任何详细的错误信息,只是错误500。 我认为,使用此代码,当成功发送邮件时,我应该进入die()语句
在邮件服务器的日志中,没有向发送请求报告错误。
php -l说php文件中没有语法错误 任何建议(高度赞赏)?
谢谢,埃德温
答案 0 :(得分:0)
你可以使用这个邮件/ php吗?
$to = "email@touser.com";
$subject = "something here";
$headers = "From: example@example.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
if(mail($to, $subject, $message, $headers))
{
echo "Susscess";
}else{
echo "Not Susscess";
}
答案 1 :(得分:0)
终于找到了它。
代表
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
有效 还必须设置php.ini中错误日志文件的路径。
; Log errors to specified file.
error_log = c:\php\error.log
通过此设置,我发现未设置默认时区。