2012-09-16 56 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主机。 –