2014-02-14 91 views
0

我必須通過Gmail發送郵件,但我不知道如何配置phpmailer。 當我使用phpmailer它給了我一個錯誤,但沒有通過身份驗證,但電子郵件和密碼是真實的。phpmailer不工作

下面是代碼:

require '../class.phpmailer.php'; 

try { 
    $mail = new PHPMailer(true);     //New instance, with exceptions enabled 

    $body    = file_get_contents('contents.html'); 
    $body    = preg_replace('/\\\\/','', $body); //Strip backslashes 

    $mail->IsSMTP();        // tell the class to use SMTP 
    $mail->SMTPAuth = true;     // enable SMTP authentication 
    $mail->Port  = 25;      // set the SMTP server port 
    $mail->Host  = "smtp.gmail.com";  // SMTP server 
    $mail->Username = "[email protected]"; // SMTP server username 
    $mail->Password = "mypassword";   // SMTP server password 

    $mail->IsSendmail();       // tell the class to use Sendmail 

    $mail->AddReplyTo("[email protected]","First Last"); 

    $mail->From  = "[email protected]"; 
    $mail->FromName = "First Last"; 

    $to = "[email protected]"; 

    $mail->AddAddress($to); 

    $mail->Subject = "First PHPMailer Message"; 

    $mail->AltBody = "To view the message, please use an HTML compatible email viewer!";           // optional, comment out and test 
    $mail->WordWrap = 80;      // set word wrap 

    $mail->MsgHTML($body); 

    $mail->IsHTML(true);       // send as HTML 

    $mail->Send(); 
    echo 'Message has been sent.'; 
} catch (phpmailerException $e) { 
    echo $e->errorMessage(); 
} 
?> 

我得到這個錯誤:

Could not execute: /var/qmail/bin/sendmail

+0

你有沒有看着[任一](https://www.google.com/#q=Could+not+execute%3A+%2Fvar %2Fqmail%2Fbin%2Fsendmail)? –

+0

服務器的操作系統是什麼? – SaidbakR

回答

0

除了這個事實,sendmail的可能不會得到所謂的權利,你試圖連接到端口25。你不能那樣做。 smtp.gmail.com 要求 SSL - 它不是可選的。

0

使用命令$mail->isSMTP()您選擇SMTP作爲傳輸。

但在發送郵件之前,您將切換回使用本地安裝的sendmail與$mail->isSendmail()

不要這樣做,你目前的錯誤將消失。可能會出現一個新的。

0

您需要使用端口465的Gmail

$mail->Port  = 465;