phpgmailer突然停止工作

phpgmailer突然停止工作,php,phpmailer,Php,Phpmailer,我使用了phpgmailer发送电子邮件,它工作得很顺利。今天我测试了我的项目,但它现在不工作了 <?php require_once('class.phpgmailer.php'); $mail = new PHPGMailer(); $mail->Username = 'username@gmail.com'; $mail->Password = '********'; $mail->F

我使用了
phpgmailer
发送电子邮件,它工作得很顺利。今天我测试了我的项目,但它现在不工作了

   <?php                  
    require_once('class.phpgmailer.php');
    $mail = new PHPGMailer();
    $mail->Username = 'username@gmail.com';
    $mail->Password = '********';
    $mail->From = 'username@gmail.com';
    $mail->FromName = "<blah>";
    $mail->Subject = 'something';
    $mail->AddAddress('xyz@gmail.com');


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

@goose是正确的,删除第一个
$mail->Send()
,并将其保留在if语句中。如果来自
地址与用户名电子邮件相同,那么您也不需要它,因为它将从您的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@gmail.com';  
    $mail->Password = 'password';     
尝试一下,如果有错误,它会给你更多的细节


EDIT2:如果这不起作用,那么我建议尝试使用PHPMailer而不是PHPGmailer,并遵循此处的教程:

@goose是正确的,删除第一个
$mail->Send()
,并将其保留在If语句中。如果来自
地址与用户名电子邮件相同,那么您也不需要它,因为它将从您的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@gmail.com';  
    $mail->Password = 'password';     
尝试一下,如果有错误,它会给你更多的细节

EDIT2:如果这不起作用,那么我建议尝试使用PHPMailer而不是PHPGmailer,并按照此处的教程进行操作:

我建议您下载并尝试以下代码:

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

    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->SMTPAuth = true;
    $mail->Host     = "ssl://smtp.gmail.com";
    $mail->Port     = 465;
    $mail->Username = "from@gmail.com";
    $mail->Password = "****";
    $mail->FromName = "Sender name";
    $mail->Subject  = "test";
    $mail->Body     = "Test body";
    $mail->AddAddress('sender@mail.com');
    if(!$mail->Send()){
        echo "Mailer Error: " . $mail->ErrorInfo;
    }else{
        echo "Message has been sent";
    }
我建议您下载并尝试以下代码:

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

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

  • $mail->Username
    等于
    $mail->From
    ,并且是正确的
  • $mail->Password
    正确
  • $mail->FromName
    不包含“”字符;只要试试
    $mail->FromName='Test'
    • 请确保:

      • $mail->Username
        等于
        $mail->From
        ,并且是正确的
      • $mail->Password
        正确
      • $mail->FromName
        不包含“”字符;只要试试
        $mail->FromName='Test'


      回送
      $mail->ErrorInfo
      时出现的错误是什么?无法发送邮件。邮件错误:以下发件人地址失败:username@gmail.comi已经在谷歌上搜索了这么多小时,但没有任何帮助:(对此感到非常不安。端口=465时出现超时错误,端口=25时出现邮件程序错误!为什么$mail->Send()要用两次?我想您只需要Send()就可以了。)如果需要检查,请检查内部。并确保您的密码正确。您说您在一年前使用过它!当您回显
      $mail->ErrorInfo
      时会出现什么错误?无法发送邮件。邮件错误:以下发件人地址失败:username@gmail.comi已经在谷歌上搜索了这么多小时,但没有任何帮助:(对此感到非常不安。端口=465时出现超时错误,端口=25时出现邮件程序错误!为什么$mail->Send()要用两次?我想您只需要Send()就可以了。)如果需要检查,请检查内部。并确保您的密码正确。您说您一年前使用过它!现在的错误是什么?您确定Gmail密码没有更改吗?相同的错误!是的,我现在使用相同的密码访问了该帐户:(调用未定义的方法PHPGMailer::SetFrom()在C:\xampp\htdocs\email\u中,通过第15Ok行上的\u gmail\index.php发送\u…take away
      $mail->SetFrom('email@gmail.com“,”来自名称“)
      然后再试一次。我已经再次编辑了答案,抱歉,我只能建议这么做。现在错误是什么?你确定Gmail密码没有更改吗?相同的错误!是的,我现在使用相同的密码访问了该帐户:(调用未定义的方法PHPGMailer::SetFrom()在C:\xampp\htdocs\email\u中,通过第15Ok行上的\u gmail\index.php发送\u…take away
      $mail->SetFrom('email@gmail.com“,”来自名称“)
      然后再试一次。我已再次编辑了答案,抱歉,我只能建议您这么做。现在出现此错误!SMTP错误:无法连接到SMTP主机。现在出现此错误!SMTP错误:无法连接到SMTP主机。