PHP PEAR Mail Ошибка - PullRequest
       32

PHP PEAR Mail Ошибка

1 голос
/ 23 мая 2011

Я получаю сообщение об ошибке со следующим кодом при попытке отправить электронное письмо.Он работает на моей локальной машине, но не тогда, когда я помещаю его на свой сервер AWS LAMP.Я не могу ничего отладить, потому что я получаю ошибку HTTP 500 при запуске сценария.Тем не менее, я знаю, что PEAR установлен.

Код:

require_once "Mail.php";

$from = "Email<Test@example.com>";
$to = "steve@exmaple.com";
$subject = "ERROR REPORT";
$body = "test message";

$host = "ssl://smtp.gmail.com";
$port = "465";
$username = "test@gmail.com";
$password = "pass1";

$headers = array ('From' => $from,
    'To' => $to,
    'Subject' => $subject);

$smtp = Mail::factory('smtp',
array ('host' => $host,
    'port' => $port,
    'auth' => true,
    'username' => $username,
    'password' => $password));


$mail = $smtp->send($to, $headers, $body);


if (PEAR::isError($mail)) {
    echo("<p>" . $mail->getMessage() . "</p>");
    } else {
    echo("Error message sent!");
}

Похоже, что происходит ошибка в команде send () выше.Любые предложения о том, как лучше отладить это?

Ответы [ 2 ]

5 голосов
/ 23 мая 2011

Попробуйте следующие две строки:

ini_set('display_errors','on');
error_reporting(E_ALL);

Размещение этих двух в начале скрипта позволяет обойти настройки php.ini, которые в противном случае скрывали бы ошибки. Надеюсь, это поможет!

Кроме того, если вы можете, поместите их в файл PHP, который вызывается, а затем включите файл, который использует почтовые функции. Таким образом, вы избежите неработающий код из-за синтаксической ошибки.

0 голосов
/ 24 мая 2011

Посмотрите журнал ошибок веб-сервера, т.е. /var/log/apache2/error.log.

...