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