我遇到了一个奇怪的问题
我有一个发送电子邮件的PHP函数,然后重定向到另一个页面。
当我注释掉重定向时,电子邮件会被发送并收到。 当我重定向处于活动状态时,它会将我重定向到正确的页面,但电子邮件似乎不会被发送。
function()
{
$email='nobody@nowhere.com';
$msg='Some test text message';
$from='FROM: reviews@mysite.com';
mail($email,'Feedback from your service',$msg,$from);
header('Location: review.php');
}
答案 0 :(得分:0)
mail函数根据电子邮件发送结果返回true或false,你应该检查一下(可能将它附加到目标URL进行调试): http://www.php.net/manual/en/function.mail.php
使用重定向时,您是否有任何正文内容?也许一个简单的“重定向...”消息将解决问题。
答案 1 :(得分:0)
尝试使用如下:
function your_function()
{
$email='nobody@nowhere.com';
$msg='Some test text message';
$from='FROM: reviews@mysite.com';
if(mail($email,'Feedback from your service',$msg,$from)){
header('Location: review.php');
}
else{
// do falure loginc
}
}
答案 2 :(得分:0)
你必须使用ob_start();在第一行和ob_flush();在代码的最后一行。那么你将能够使用header()发送标题;功能
答案 3 :(得分:0)
function()
{
$email='nobody@nowhere.com';
$msg='Some test text message';
$from='FROM: reviews@mysite.com';
mail($email,'Feedback from your service',$msg,$from);
echo"<script language='javascript'>alert('mail Sent Successfully');
window.location='review.php';
</script>";
}