Php 电子邮件行为之谜

Php 电子邮件行为之谜,php,phpmailer,Php,Phpmailer,我已经在PHP/电子邮件'地狱'-我接近了,似乎无法到达'终点线' Om使用phpmailer在客户端站点中发送支持请求。我的流程如下所示: 表单->流程(生成反馈消息和要支持的抄送消息)->给发件人的邮件->要支持的邮件->重定向到感谢页面 问题有两个方面: 1) 如果我打开了调试,电子邮件会像预期的那样通过,但是我得到了调试,没有重定向 2) 如果我关闭调试-电子邮件不会发出,我得到一个空白页-没有重定向 *附录* 电子邮件刚刚通过-所以这只是一个重定向问题。。。无论有没有调试,我的元刷新都

我已经在PHP/电子邮件'地狱'-我接近了,似乎无法到达'终点线'

Om使用phpmailer在客户端站点中发送支持请求。我的流程如下所示: 表单->流程(生成反馈消息和要支持的抄送消息)->给发件人的邮件->要支持的邮件->重定向到感谢页面

问题有两个方面: 1) 如果我打开了调试,电子邮件会像预期的那样通过,但是我得到了调试,没有重定向 2) 如果我关闭调试-电子邮件不会发出,我得到一个空白页-没有重定向

*附录* 电子邮件刚刚通过-所以这只是一个重定向问题。。。无论有没有调试,我的元刷新都不会被发送-也许有更好的方法

PHP表单处理器

...
// send two emails
    $_emailTo = $email; // the email of the person requesting
    $_emailBody = $text_body; // the stock response with things filled in
    include ( 'email.php' );

    $_emailTo = $notifyEmail; // the support email address
    $_emailBody = $pretext.$text_body; // pretext added as meta data for support w/ same txt sent to user
    include ( 'email.php' );

// relocate
    echo '<META HTTP-EQUIV="Refresh" Content="0; URL=success.php" >';
    exit;
。。。
//发送两封电子邮件
$\u emailTo=$email;//请求者的电子邮件
$\u emailBody=$text\u body;//股票的反应是填上东西
包括('email.php');
$\u emailTo=$notifyEmail;//支持电子邮件地址
$\u emailBody=$pretext.$text\u body;//作为元数据添加的借口,支持发送给用户的相同文本
包括('email.php');
//重新安置
回声';
出口
PHP邮件程序(email.PHP)



帮助-请

您的问题可能是在尝试重定向之前,某些输出已经发送到浏览器。在这种情况下,通常不能执行重定向。在这种情况下,您可以使用输出缓冲,如下例所示:

ob_start();
//statements that output data to the browser
print "some text";
if (!headers_sent()) {
    header('Location: /success.php');
    exit; 
}
ob_end_flush();
默认情况下,这也可以在php.ini文件中与指令一起打开,在这种情况下,您不需要ob_start()和ob_end_flush()语句。我的php.ini文件包含以下内容:

output_buffering = 4096

在php中有没有抑制输出的方法?是的,我已经编辑了我的答案,其中包含了一些关于php中输出缓冲的信息。
output_buffering = 4096