PhpMailer发送邮件没有错误信息

时间:2013-06-04 20:40:39

标签: php

我正在尝试发送邮件,它只是把我带到了空白页面。回声没有被击中,我看不出错误。

try {
    $mail->SetFrom($email, $name);
    $mail->SMTPDebug  = 2;   
    $address = "xx@gmail.com";
    $mail->AddAddress($address, "xx");
    $mail->Subject = "Contact Form Submission | " . $name;
    $mail->MsgHTML($email_body);
    $mail->SMTPSecure = "tls"; 
    $mail->IsSMTP();
    $mail->Host = "smtp.gmail.com";
    $mail->Port = 587;
    $mail->SMTPAuth = true;
    $mail->Username = 'xx@gmail.com';
    $mail->Password = 'password1234';

    if (!$mail->Send()) {
        echo "Mailer Error: " . $mail->ErrorInfo;
        exit;
    }
    else
        echo 'sent';
    //header("Location: contact.php?status=thanks");
} catch (phpmailerException $e) {
    echo 'error1';
} catch (Exception $e) {
    echo 'error2';
}

1 个答案:

答案 0 :(得分:1)

如上所述,您应该在脚本顶部使用以下两行打开错误报告:

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

此外,您是否包含了PHPMailer的SMTP类,因为您是通过SMTP发送邮件的?文件“class.smtp.php”应该放在与“class.phpmailer.php”相同的目录中 - 如果缺少,那么当PHPMailer尝试包含它时会出错