Phpmailer在slim中返回响应null


phpmailer returning response null in slim

我使用苗条的框架来创建api的android应用程序。在CreateUser api,我使用phpmailer发送邮件给用户。Phpmailer将邮件完美地发送给用户,但我的数组响应返回null数组响应。当我删除phpmailer的代码时,响应是正确的,当我添加它时,它生成空响应。

下面是我在Dbhandler.php中的代码:

   $app->post('/requestPreview', function() use ($app) {
        verifyRequiredParams(array('fname', 'lname', 'email','event_code','app_version'));
        global $user_id;
        $response = array();
        $fname = urldecode($app->request->post('fname'));
        $lname = urldecode($app->request->post('lname'));
        $email =  urldecode($app->request->post('email'));
        $event_code =  urldecode($app->request->post('event_code'));
        $app_version =  urldecode($app->request->post('app_version'));
        $db = new DbHandler();
        //$db->sendmail($email);
        $res = $db->signup($fname, $lname, $email,$event_code,$app_version);
        if ($res['status']=="one") {
            //$password=$res['password'];
            $response["event_code"] = $event_code;
            $response["email"] = $email;
            $response["fname"] =$fname;
            $response["lname"] = $lname;
            $response["CreateUser"] = true;
                       $mail = new PHPMailer();  
                           $mail->IsSMTP();
                           $mail->SMTPDebug = 2;
                           $mail->Debugoutput = 'html';
                           $mail->Host = "smtp.gmail.com";
                           $mail->SMTPAuth = true;
                           $mail->Username = "abc.abc@gmail.com";
                           $mail->Password = "***********";
                           $mail->SMTPSecure = 'tls';
                           $mail->Port = 587;
                           $mail->From     = "abc.abc@gmail.com";
                           $mail->AddAddress($email);
                           $mail->isHTML(true); 
                           $mail->Subject  = "Welcome to www.abc.com .Your Account has been created and your password is:";
                           $mail->Body     = "Welcome to www.abc.com .Your Account has been created and your password is:";
                          $mail->send();    

        } else if ($res['status']=="two"){

            $response["error"] ="already_in_system";
            $response["fname"] = null;
            $response["lname"] = null;

        }
        echoRespnse(200, $response);
      });

更新到最新的PHPMailer并基于最新的示例编写代码,然后阅读故障排除文档。很有可能你遇到了Google认证问题。

您的PHPMailer代码从未接触$response,这表明它可能由于错误而过早退出,因此跟踪函数中发生的事情。