Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPMailer保持旋转而不出错_Php_Error Handling_Phpmailer - Fatal编程技术网

PHPMailer保持旋转而不出错

PHPMailer保持旋转而不出错,php,error-handling,phpmailer,Php,Error Handling,Phpmailer,我试图在我的联系人表单中实现PHPMailer,但由于某些原因,我无法实现它。当我提交我的表单时,它一直在“旋转”,过了一段时间,只返回url中的php脚本,没有任何错误输出等。错误报告已启用。我不知道会是什么 问题应该在这个函数的某个地方。如果你需要更多的信息,请问我 function sendMail($naam, $email, $phone, $subj, $msg, $chkArr) { require 'PHPMailer/PHPMailerAutoload.php';

我试图在我的联系人表单中实现PHPMailer,但由于某些原因,我无法实现它。当我提交我的表单时,它一直在“旋转”,过了一段时间,只返回url中的php脚本,没有任何错误输出等。错误报告已启用。我不知道会是什么

问题应该在这个函数的某个地方。如果你需要更多的信息,请问我

function sendMail($naam, $email, $phone, $subj, $msg, $chkArr) {
    require 'PHPMailer/PHPMailerAutoload.php';
    $TO = ' ... '; //TODO

    $mail = new PHPMailer(true);

    try {
        $mail->setLanguage('nl');
        $mail->isSMTP();
        $mail->Host = 'smtp.gmail.com'; //TODO
        $mail->SMTPAuth = true;
        $mail->Username = ' ... '; //TODO
        $mail->Password = ' ... '; //TODO
        $mail->SMTPSecure = 'tls';
        $mail->Port = 587;

        $mail->setFrom($email, $naam);
        $mail->addAddress($TO, 'Animagie');
        $mail->isHTML(true);

        $mail->Subject = 'Animagie: ' . $subj;
        $mail->Body = createHTMLMessage($naam, $email, $phone, $msg, $chkArr);
        $mail->AltBody = createNonHTMLMessage($naam, $email, $phone, $msg, $chkArr);

        if (!$mail->send()) {
            $error = "Bericht kon niet worden verstuurd: " . $mail->ErrorInfo;
            echo $error;
            var_dump($mail);
            exit;
        } else {
            //TODO: return to success page
            echo 'Bericht succesvol verstuurd!';
        }
    } catch (phpmailerException $ex) {
        echo $ex->getMessage();
        exit;
    } catch (Exception $ex) {
        echo $ex->getMessage();
        exit;
    }
}

什么叫这个函数?旋转的声音听起来像是浏览器在等待PHP完成,但它超时了(可能是最长执行时间)。页面完成时的状态代码是什么?在PHPMailer的github中有一个Gmail示例,您应该签出它,因为它们显示了如何启用详细输出,这将帮助您跟踪正在发生的事情。我在这里找到了:这是“完整”脚本(剥离了验证部分),返回状态是503。(我应该把这个放在我的问题里,我的错。)如果你的ISP阻止出站SMTP,你通常必须等待超时才能得到任何响应。设置
SMTPDebug=3
,以获取更多关于它等待的内容的反馈。《疑难解答指南》中有一些测试,你们可以通过这些测试来找出问题所在。好吧,我开始考虑@Synchro对SMTP所说的话可能会被阻止。确实被封锁了。我现在使用ISP自己的SMTP服务器,突然收到错误消息。谢谢大家。