PHPMailer标头出现问题(位置:thankyou.php)

时间:2018-10-27 03:49:38

标签: php html composer-php phpmailer

我正在尝试获取一个联系表,使用PHPMailer将电子邮件发送到收件箱。发送电子邮件或准备发送电子邮件后,我希望它将页面重新定位到thankyou.php。

单击表单按钮时遇到的麻烦:转到mail.php页面,但为空白。我在页面底部有标题,用于重定向页面。

通过“ php mail.php”在命令行

测试脚本,没有错误返回,然后我收到了电子邮件。

测试浏览器上的脚本将显示白色页面,没有电子邮件。

当我仅删除PHPMailer的代码,但在第一行和标头(位置:thankyou.php)上保留我的require()语句时,它会将我重定向到我的Thankyou页面。

这是我的代码:

PHPMailer代码:mail.php

<?php
require('PHPMailer/PHPMailer/PHPMailerAutoload.php');

$mailto = new PHPMailer();
$mailto->SMTPDebug = 2;
$mailto->CharSet = 'UTF-8';
$mailto->isSMTP();
$mailto->Host = "smtp.gmail.com";
$mailto->SMTPAuth = true;
$mailto->Username = "*****@gmail.com";
$mailto->Password = "*****";
$mailto->SMTPSecure = "tls";
$mailto->Port = 587;

$mailto->addAddress('example@gmail.com', 'Joe User');
$mailto->addReplyTo('example@gmail.com', 'Information');
$mailto->setFrom('example@gmail.com', 'Mailer');

$mailto->isHTML(true);
$mailto->Subject = "Testing From Contact Page";
$mailto->Body = "This is the HTML message body <b>in bold!</b>"; 
$mailto->AltBody = "This is the body in plain text for non-HTML mail clients";

$mailto->Send();
header("Location: http://$URL/thankyou.php");
?>

HTML代码

<?php
    include('navigation.php');
?>
<div id="contact_form_wrapper">
<div class="contact_call">
    <div>
        <img src="images/icons/icon_call.png" alt="Phone: 555.555.5555" />
        <div>
            <h2>Call us at 555.555.5555</h2>
            <p>
                Address Canada<br /><br />
                Hours: Monday - Friday 8:00 a.m. to 4:00 p.m.
            </p>
        </div>
    </div>
</div>


<h1>Fill out this form to request more information</h1>

<form name="requestquote" method="POST" action="mail.php">
<!-- onsubmit="return formValidation() -->
    <!-- <ul class="request_div">
        <li><p>Company Name</p><input type="text" name="company" maxlength="50" size="30"/></li>
        <li><p>Full Name</p><input type="text" name="name" maxlength="50" size="30"/></li>
        <li><p>Postal Code</p><input type="text" name="zip" maxlength="50" size="30"/></li>
        <li><p>Telephone</p><input type="text" name="phone" maxlength="50" size="30"/></li>
        <li><p>Email</p><input type="text" name="email" maxlength="50" size="30"/></li>
    </ul>
    <ul class="div_comment">
        <li><p>Request Information</p><textarea  name="comments"></textarea></li>
    </ul> -->
    <div id="btnRequests">
        <input type="submit" value="SUBMIT" class="btnStyle1"/>
        <input type="reset" value="CLEAR" class="btnStyle1" />
    </div>
</form> 

<div class="contact_call">
    <div>
        <img src="images/icons/icon_call.png" alt="Phone: 555.555.5555" />
        <div>
            <h2>Call us at 555.555.5555</h2>
            <p>
                Address Canada<br /><br />
                Hours: Monday - Friday 8:00 a.m. to 4:00 p.m.
            </p>
        </div>
    </div>
</div>

</div>
<?php
    include('footer.php');
?>

我已经尝试过以下方法:

  • 检查了周围的空格,

  • 被Ob_start()迷惑了不确定它是如何进行的。没有对代码做任何事情。

  • 试图放置脚本标签并添加JS。我什至无法正常工作。虽然我的其他网站都可以使用js。我有点不想走这条路。

  • 我放置了exit();无处不在,还有die();

  • 已放置和已删除的Echo语句。

  • 尝试通过Composer安装PHPMailer。

  • 添加了许多各种require,require_once,包括变体

  • 我的端口已打开。托管服务器已全部打开,因为我已经打电话给他们进行确认。

也许在以上所有条件都正确之后,我已经进行了三天的研究。现在寻求帮助。聊天吧!

1 个答案:

答案 0 :(得分:0)

您无法生成输出,也无法重定向,而您正在生成输出,因为您已启用PHPMailer调试输出。将其关闭:

$mail->SMTPDebug = false;