500: Internal Server Error in using PHPMailer

Kerry picture Kerry · May 22, 2013 · Viewed 24.2k times · Source

I'm trying to send an email using the following code and I'm getting Internal Server Error. I am not sure why I am having this trouble.

PHP code:

<?php
    $mail = new PHPMailer();  // create a new object
    $mail->IsSMTP(); // enable SMTP
    $mail->SMTPDebug = 0;  // debugging: 1 = errors and messages, 2 = messages only
    $mail->SMTPAuth = true;  // authentication enabled
    $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
    $mail->Host = 'smtp.gmail.com';
    $mail->Port = 465; 
    $mail->Username = '[email protected]';  
    $mail->Password = "mypasswordhere";           
    $mail->SetFrom($from, $from_name);
    $mail->Subject = $subject;
    $mail->Body = $body;
    $mail->AddAddress('[email protected]');
    if(!$mail->Send()) {
        $error = 'Mail error: '.$mail->ErrorInfo; 
        return false;
    } else {
        $error = 'Message sent!';
        return true;
    }
?>

I just placed this file as test.php inside the PhpMail folder after extracting it. Like the below

enter image description here

Answer

Raptor picture Raptor · May 22, 2013

You missed a single quote on the line:

$mail->Password = 'mypasswordhere';     

The error behind is probably a PHP parsing error, which is shown in your Apache error log.