2017-12-18 53 views
0

有没有人使用forest_of_code/PerfectCode的“Perfect Contact Us Form”?完美联系我们表问题

我不断收到错误信息:“糟糕!有些东西不对,请检查您的详细信息。”

我按照编码器的指示一步一步地检查了多次,我没有误输入。我也确定我的主机允许邮件通过SMTP。我正尝试使用Gmail邮件发送邮件。我在我的帐户中启用了“允许安全性较低的应用程序”,但我没有使用2AuthFactor。

这是我目前的设置(在XXXX是隐藏我的信息,我的文件即时通讯使用我的真实信息):

function smtpContact($to, $subject, $name, $phone, $message){ 
      require_once 'PHPMailer/PHPMailerAutoload.php'; 
      $response = array(); 
      //Create a new PHPMailer instance 
      $mail = new PHPMailer; 
      $mail->isSMTP(); 
      $mail->SMTPDebug = 0; 
      $mail->Debugoutput = 'html'; 
      $mail->Host = "smtp.gmail.com"; 
      $mail->Port = 587; 
      $mail->SMTPAuth = true; 
      $mail->Username = "[email protected]"; 
      $mail->Password = "xxxxxxxxxxxxx"; 
      $mail->setFrom($to, $name); 
      $mail->addAddress('[email protected]', 'XXXXX'); 
      $mail->Subject = $subject; 
      $message = '<div style="background:#F5F5F5; padding:10px;"> 
          <p>'.$message.'</p><br /> 
          <div>Name : '.$name.'</div><br /> 
          <div>Phone : '.$phone.'</div><br /> 
         </div>'; 
      $mail->msgHTML($message); 
      $mail->AltBody = 'This is a plain-text message body'; 
      $mail->SMTPOptions = array(
       'ssl' => array(
       'verify_peer' => false, 
       'verify_peer_name' => false, 
       'allow_self_signed' => true 
      ) 
     ); 
     if (!$mail->send()){ 
      // For Debugging 
      //return "Mailer Error: " . $mail->ErrorInfo; 
      $response['error'] = 'Something not right. Please check your details.'; 
     }else{ 
      $response['success'] = 'Your email has been sent successfully.'; 
     } 
     echo json_encode($response, JSON_PRETTY_PRINT); 
    }/*...ends[contactus]...*/ 
+0

它看起来像你有一个ErrorInfo属性的邮件对象。你可能想从那里开始并收到消息。这将有所帮助。 – Ctznkane525

+0

我已经尝试过,但它给出的是,我知道一个事实是错误的凭据是不是。我刚刚偶然发现了一个近5年的帖子,提到这一行是'$ mail-> isSMTP();'的问题。我删除它,它工作得很好。一直试图找到解决这个问题daaaaays – Synn

+0

耶刚刚意识到,我问了这个问题后。我一直在寻找尝试和删除这篇文章,但我无法找到它的任何地方。即时通讯在这里仍然是新的,所以它可能需要我来找出如何删除这个 – Synn

回答

0

这之前大约5年前有了答案。我再次发布这个内容,就像我一样,人们仍然遇到这个问题。我发现这里的解决方案:send email using Gmail SMTP server through PHP Mailer

基本上所有我需要做的就是删除这一行$mail->isSMTP();

我该用户表示感谢,我一直在寻找一个解决方案了好几天,直到我偶然发现了他的问题,他自己回答:D