PHP PEAR邮件错误

时间:2011-05-23 04:00:18

标签: php smtp pear

尝试发送电子邮件时,我收到以下代码的错误消息。它可以在我的本地计算机上运行,​​但是当我将它放在我的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 个答案:

答案 0 :(得分:5)

请尝试以下两行:

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

在脚本的早期放置这两个会绕过php.ini设置,否则会隐藏错误。希望有所帮助!

此外,如果可以,将它们放在被调用的PHP文件中,然后包含使用邮件功能的文件。这样,您可以避免上述代码由于语法错误而无法正常工作。

答案 1 :(得分:0)

查看网络服务器的错误日志,即/var/log/apache2/error.log