2

次のエラー処理関数を使用しています。この関数は$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.
4

1 に答える 1

0

メール機能は認可を使用しません。Windowsでは、php.iniファイルでデフォルトでsmtpを使用するようにphpを設定できると思います。

于 2012-05-18T22:32:56.527 に答える