是否可以通过SMTP发送带有error_log()的邮件?

时间:2012-05-18 21:27:12

标签: php

我正在使用以下错误处理函数,如果网站处于活动状态($admin_email),则会将错误通过电子邮件发送至$live==TRUE。我的主机现在需要SMTP身份验证。假设我必须删除对error_log()的调用并使用PEAR邮件包或PHPMailer发送邮件,我是否正确?

// Create the error handler.
function my_error_handler ($e_number, $e_message, $e_file, $e_line, $e_vars) {

global $live, $admin_email;

// Build the error message.
$message = "An error occurred in script '$e_file' on line $e_line: \n<br />$e_message\n<br />";

// Add the date and time.
$message .= "Date/Time: " . date('n-j-Y H:i:s') . "\n<br />";

// Append $e_vars to the $message.
$message .= "<pre>" . print_r ($e_vars, 1) . "</pre>\n<br />";

if ($live) { // Don't show the specific error.

    echo('<p>sending email</p>');

    error_log ($message, 1, $admin_email); // Send email.

    // Only print an error message if the error isn't a notice.
    if ($e_number != E_NOTICE) {
        echo '<div id="Error">A system error occurred. An administrator has been notified. We apologize for the inconvenience.</div><br />';
    }

} else { // Development (print the error).
    echo '<div id="Error">' . $message . '</div><br />';
}

return FALSE;

} // End of my_error_handler() definition.

1 个答案:

答案 0 :(得分:0)

邮件功能不使用授权。我想在Windows上你可以设置php默认在php.ini文件中使用smtp。