phpmailer 在 slim 中返回响应 null

phpmailer returning response null in slim

我正在使用 slim 框架为 android app.In CreateUser api 创建 api,我正在使用 phpmailer.Phpmailer 向用户发送邮件是完美地向用户发送邮件,但我的数组响应返回空数组响应,因为 it.When 我删除了 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);
      });

更新至 latest PHPMailer and base your code on an up to date example, then read the troubleshooting docs。您很可能 运行 陷入 Google 身份验证问题。

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