完美联系我们表格问题

时间:2017-12-18 01:05:25

标签: php email contact-form

有没有人使用过forest_of_code / PerfectCode的“Perfect Contact Us Form”?

我不断收到错误:“糟糕!有些事情不对。请查看您的详细信息。”

我一步一步地按照编码器的说明,多次检查我没有错误输入soemthing。我也确定我的主机允许通过SMTP发送邮件。我正在尝试使用gmail smtp发送邮件。我在我的帐户上启用了“允许不太安全的应用”,我没有使用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 = "XXXXXX@gmail.com";
            $mail->Password = "xxxxxxxxxxxxx";
            $mail->setFrom($to, $name);
            $mail->addAddress('XXXXXXXX@gmail.com', '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]...*/

1 个答案:

答案 0 :(得分:0)

大约5年前就已经回答了这个问题。我正在发布这个,只是因为人们仍然像我一样遇到这个问题。我在这里找到了解决方案:send email using Gmail SMTP server through PHP Mailer

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

我很感激那位用户,我一直在寻找解决方案好几天,直到我偶然发现他的问题,他自己回答:D