单击发送按钮后,php邮件重定向到空白页面

问题描述 投票:-3回答:1

我只是想知道我的实例是什么原因。

我的代码看起来像这样:

<form action="php/contact.php" method="post" enctype="multipart/form-data">
                                <fieldset>
                                    <input type="hidden" name="action" value="contact_send" />

                                    <div class="row">
                                        <div class="col-md-6">
                                            <label for="contact:name">Full Name *</label>
                                            <input required type="text" value="" class="form-control" name="contact[name][required]" id="contact:name">
                                        </div>
                                        <div class="col-md-6">
                                            <label for="contact:email">E-mail Address *</label>
                                            <input required type="email" value="" class="form-control" name="contact[email][required]" id="contact:email">
                                        </div>
                                        <div class="col-md-12">
                                            <label for="contact:phone">Phone</label>
                                            <input type="text" value="" class="form-control" name="contact[phone]" id="contact:phone">
                                        </div>

                                        <div class="col-md-12">
                                            <label for="contact:subject">Subject *</label>
                                            <input required type="text" value="" class="form-control" name="contact[subject][required]" id="contact:subject">
                                        </div>

                                        <div class="col-md-12">
                                            <label for="contact:message">Message *</label>
                                            <textarea required maxlength="10000" rows="6" class="form-control" name="contact[message]" id="contact:message"></textarea>
                                        </div>
                                    </div>

                                </fieldset>

                                <div class="row">
                                    <div class="col-md-12">
                                        <button type="submit" class="btn btn-primary"><i class="fa fa-check"></i> SEND MESSAGE</button>
                                    </div>
                                </div>
                            </form>


<?php

date_default_timezone_set('America/Toronto');

require 'http://***.net/php/PHPMailerAutoload.php';

 $mail = new PHPMailer;


$mail->isSMTP();

$mail->SMTPDebug = 2;


$mail->Debugoutput = 'html';


$mail->Host = 'smtp.gmail.com';

 $mail->Host = gethostbyname('smtp.gmail.com');


submission
$mail->Port = 587;


$mail->SMTPSecure = 'tls';


$mail->SMTPAuth = true;


$mail->Username = "****@gmail.com";


$mail->Password = "****";

//Set who the message is to be sent from
$mail->setFrom('kontakt@****', '');

//Set an alternative reply-to address
$mail->addReplyTo('[email protected]', 'First Last');

//Set who the message is to be sent to
$mail->addAddress('', 'John Doe');

//Set the subject line
$mail->Subject = 'PHPMailer GMail SMTP test';

//Read an HTML message body from an external file, convert referenced images                     
to embedded,
//convert HTML into a basic plain-text alternative body
$mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__));

//Replace the plain text body with one created manually
$mail->AltBody = 'This is a plain-text message body';

//Attach an image file
$mail->addAttachment('images/phpmailer_mini.png');

//send the message, check for errors
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
$headers = 'From: '.$name."\r\n".
'Reply-To: '.$email."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);  
header('Location: http://***.net/kontakt.html');

我真的很困惑,我尝试了一切,但仍然没有任何成功。我的托管也没告诉我这个问题。我试过发送邮件功能,但情况是一样的。

我将不胜感激任何答案。

php html forms email
1个回答
0
投票

我认为你被滥用header()函数所困扰。来自manual

请记住,在发送任何实际输出之前,必须通过普通HTML标记,文件中的空行或PHP来调用header()。使用include或require,函数或其他文件访问函数读取代码是一个非常常见的错误,并且在调用header()之前输出空格或空行。使用单个PHP / HTML文件时存在同样的问题。

像空白行和你的echo语句,或者实际上,谁知道required文件中发生了什么,导致你的调用重定向与header失败。

© www.soinside.com 2019 - 2024. All rights reserved.