我不知道关于php的事情但是在我没有帮助和研究的情况下,我设法与Swift Mailer建立了工作联系表。它正在发送消息,但我希望它在发送消息后将人们重定向到thank_you.html页面。我尽我所能,但它不起作用。你可以帮帮我吗?这是代码:
<?php
include("Swift/lib/swift_required.php");
$host = 'xxxxxx.xxxxxx@gmail.com';
$password = 'xxxxx';
$subject = "zapytanie ze strony";
$body = "Zglaszajacy: ".$_POST["fullname"]."\r\n";
$body .= "Telefon: ".$_POST["phone"]."\r\n";
$body .= "E-mail: ".$_POST["email"]."\r\n";
$body .= "Tresc: ".$_POST["description"]."\r\n";
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
->setUsername($host)
->setPassword($password);
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance($subject)
->setFrom(array($host => 'Klient'))
->setTo(array('xxxxxxx@xxxx.gmail.com'=> 'xxxxxx'))
->setBody($body);
$result = $mailer->send($message);
if ($result)
{
header('Location: http://www.xxxxx.org/thank_you.html');
}
echo $result;
?>
我自己添加了那部分:
if ($result)
{
header('Location: http://www.xxxxx.org/thank_you.html');
}
它不起作用。邮件已发送,但表单中没有任何内容发生。它就在那里。请像对待这个人一样对待我;)
答案 0 :(得分:0)
来自header()
的php文档:
请记住,在任何实际输出之前必须调用header() 通过普通HTML标记,文件中的空行或PHP发送。 使用include或require读取代码是一个非常常见的错误, 函数或其他文件访问函数,并且有空格或空 调用header()之前输出的行。一样的问题 使用单个PHP / HTML文件时存在。
在拨打header
电话之前,您的代码或附带的swift邮件代码可能会输出一些空格。
尝试在代码开头使用ob_start()
,然后在结尾使用ob_end_flush()
。