2012-09-16 259 views
1

我用phpgmailer發送電子郵件,它工作順利。今天,我測試了我的項目,現在不工作。phpgmailer突然停止工作

<?php     
    require_once('class.phpgmailer.php'); 
    $mail = new PHPGMailer(); 
    $mail->Username = '[email protected]'; 
    $mail->Password = '********'; 
    $mail->From = '[email protected]'; 
    $mail->FromName = "<blah>"; 
    $mail->Subject = 'something'; 
    $mail->AddAddress('[email protected]'); 


    $mail->Body = "Hello Sir"."\n"."  
    Your Password is : .".""; 
    $mail->Host = 'smtp.gmail.com'; 
    $mail->Port = 465; 
    $mail->Send(); 

    if(!$mail->Send()) 
      { 

     echo 'Message could not be sent.' ; 
     echo 'Mailer Error: ' . $mail->ErrorInfo; 

     exit; 
      } 
     echo 'Message has been sent'; 
+0

當你echo'$ mail-> ErrorInfo'時,你得到的錯誤是什麼? – Wasim

+0

無法發送消息。郵件錯誤:以下發件地址失敗:[email protected] –

+0

我一直在使用Google搜索這麼多個小時,但沒有任何幫助:( 非常沮喪, –

回答

0

@goose是正確的,刪除​​第一個$mail->Send()並離開在if語句中的一個。如果From地址與用戶名電子郵件地址相同,則不需要該地址,因爲它將從您的Gmail帳戶中獲取。

試試看看它是否有效。

編輯:嘗試添加以下內容;

$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 = 'password';  

試試看,如果有錯誤,那麼它應該給你更多的細節。

EDIT2:如果沒有,那麼我建議嘗試PHPMailer的,而不是PHPGmailer工作 - 在這裏按照教程:http://www.web-development-blog.com/archives/send-e-mail-messages-via-smtp-with-phpmailer-and-gmail/

+0

不,它不是先生!:( –

+0

錯誤現在說什麼?你確定Gmail密碼沒有' t改變了? – Wasim

+0

同樣的錯誤!是的,我已經訪問該帳戶,現在用相同的密碼:( –

1

我建議你下載PHPMailer並嘗試這種代碼:

require("phpmailer/class.phpmailer.php"); 

    $mail = new PHPMailer(); 
    $mail->IsSMTP(); 
    $mail->SMTPAuth = true; 
    $mail->Host  = "ssl://smtp.gmail.com"; 
    $mail->Port  = 465; 
    $mail->Username = "[email protected]"; 
    $mail->Password = "****"; 
    $mail->FromName = "Sender name"; 
    $mail->Subject = "test"; 
    $mail->Body  = "Test body"; 
    $mail->AddAddress('[email protected]'); 
    if(!$mail->Send()){ 
     echo "Mailer Error: " . $mail->ErrorInfo; 
    }else{ 
     echo "Message has been sent"; 
    } 
+0

與phpmailer它給出了相同的錯誤 –

+0

@anonymous現在嘗試 – Ivin

0

請,確保:

  • $mail->Username等於$mail->From,並且是正確的
  • $mail->Password是正確的
  • $mail->FromName不包含「<」和「>」字符;只是嘗試$mail->FromName = 'Test';
+0

檢查先生! :(沒有幫助!! :( –

+0

現在它給這個錯誤!SMTP錯誤:無法連接到SMTP主機。 –