成功发送邮件时发送邮件时出错

时间:2018-05-26 16:37:48

标签: php email

我有发送邮件的功能。当我使用它时,邮件会成功发送,但页面最终会出现错误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文件中没有语法错误 任何建议(高度赞赏)?

谢谢,埃德温

2 个答案:

答案 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

通过此设置,我发现未设置默认时区。