我只是想知道我的实例是什么原因。
我的代码看起来像这样:
<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');
我真的很困惑,我尝试了一切,但仍然没有任何成功。我的托管也没告诉我这个问题。我试过发送邮件功能,但情况是一样的。
我将不胜感激任何答案。
我认为你被滥用header()函数所困扰。来自manual
请记住,在发送任何实际输出之前,必须通过普通HTML标记,文件中的空行或PHP来调用header()。使用include或require,函数或其他文件访问函数读取代码是一个非常常见的错误,并且在调用header()之前输出空格或空行。使用单个PHP / HTML文件时存在同样的问题。
像空白行和你的echo
语句,或者实际上,谁知道require
d文件中发生了什么,导致你的调用重定向与header
失败。