Canvas HTML5テンプレートで作業しています。この特定のテンプレートは、ページ上のフォームを介して電子メールが送信された後、インラインの成功メッセージを使用しました。 SMTPを使用するようにセットアップを切り替えて、ありがとうページにリダイレクトする必要がありました。電子メールは送信されますが、メールが送信されると私はリダイレクトされません。代わりに内部サーバーエラーが発生します。私の構文はちょうどオフですか?私はFTP以外のバックエンドにアクセスすることはできません。smtpでphpmailerを使用して、おはようございましページにリダイレクトするときにサーバーエラーが発生する
メールが届いています。それはオフに見えるだけのリダイレクトです。
<?php
require_once('phpmailer/PHPMailerAutoload.php');
$toemails = array();
$toemails[] = array(
'email' => '[email protected]', // Your Email Address
'name' => 'Recipient Name' // Your Name
);
$mail = new PHPMailer();
// If you intend you use SMTP, add your SMTP Code after this Line
$mail->IsSMTP();
$mail->Host = "mail.domain.com";
$mail->SMTPDebug = 2;
$mail->SMTPAuth = true;
$mail->Port = 25;
$mail->Username = "[email protected]";
$mail->Password = "PaSsWoRd";
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if($_POST['template-contactform-email'] != '') {
$name = isset($_POST['template-contactform-name']) ? $_POST['template-contactform-name'] : '';
$email = isset($_POST['template-contactform-email']) ? $_POST['template-contactform-email'] : '';
$phone = isset($_POST['template-contactform-phone']) ? $_POST['template-contactform-phone'] : '';
$company = isset($_POST['template-contactform-company']) ? $_POST['template-contactform-company'] : '';
$subject = isset($_POST['template-contactform-subject']) ? $_POST['template-contactform-subject'] : '';
$message = isset($_POST['template-contactform-message']) ? $_POST['template-contactform-message'] : '';
$subject = isset($subject) ? $subject : 'New Message From Contact Form';
$botcheck = $_POST['template-contactform-botcheck'];
if($botcheck == '') {
$mail->SetFrom($email , $name);
$mail->AddReplyTo($email , $name);
foreach($toemails as $toemail) {
$mail->AddAddress($toemail['email'] , $toemail['name']);
}
$mail->Subject = $subject;
$name = isset($name) ? "Name: $name<br><br>" : '';
$email = isset($email) ? "Email: $email<br><br>" : '';
$phone = isset($phone) ? "Phone: $phone<br><br>" : '';
$company = isset($company) ? "Firm or Company Name: $company<br><br>" : '';
$message = isset($message) ? "Message: \n$message<br><br>" : '';
$referrer = $_SERVER['HTTP_REFERER'] ? '<br><br><br>This Form was submitted from: ' . $_SERVER['HTTP_REFERER'] : '';
$body = "$name $email $phone $company $message $referrer";
$mail->MsgHTML($body);
$sendEmail = $mail->Send();
if($sendEmail == true):
//ORIGINAL ECHO OF SUCCESS MESSAGE
//echo '{ "alert": "success", "message": "' . $message_success . '" }';
//SWITCH TO REDIRECT
header("Location: ../thank-you.php");
else:
echo '{ "alert": "error", "message": "Email <strong>could not</strong> be sent due to some Unexpected Error. Please Try Again later.<br /><br /><strong>Reason:</strong><br />' . $mail->ErrorInfo . '" }';
endif;
} else {
echo '{ "alert": "error", "message": "Bot <strong>Detected</strong>.! Clean yourself Botster.!" }';
}
} else {
echo '{ "alert": "error", "message": "Please <strong>Fill up</strong> all the Fields and Try Again." }';
}
} else {
echo '{ "alert": "error", "message": "An <strong>unexpected error</strong> occured. Please Try Again later." }';
}
?>
フォーム:
<form class="nobottommargin" id="template-contactform" name="template-contactform" action="php/sendemail.php" method="post">
<div class="form-process"></div>
<div class="col_half">
<input type="text" id="template-contactform-name" name="template-contactform-name" value="" class="sm-form-control border-form-control required" placeholder="Name" />
</div>
<div class="col_half col_last">
<input type="email" id="template-contactform-email" name="template-contactform-email" value="" class="required email sm-form-control border-form-control" placeholder="Email Address" />
</div>
<div class="col_half">
<input type="text" id="template-contactform-phone" name="template-contactform-phone" value="" class="sm-form-control border-form-control" placeholder="Phone" />
</div>
<div class="col_half col_last">
<input type="text" id="template-contactform-company" name="template-contactform-company" value="" class="sm-form-control border-form-control" placeholder="Company Name" />
</div>
<div class="clear"></div>
<div class="col_full">
<input type="text" id="template-contactform-subject" name="template-contactform-subject" value="" class="sm-form-control border-form-control" placeholder="Subject" />
</div>
<div class="col_full">
<textarea class="sm-form-control border-form-control" id="template-contactform-message" name="template-contactform-message" rows="7" cols="30" placeholder="What do you think we should know?"></textarea>
</div>
<div class="col_full">
<button class="button button-black noleftmargin topmargin-sm" type="submit" id="template-contactform-submit" name="template-contactform-submit" value="submit">Send Message</button>
</div>
<div class="clear"></div>
<div class="col_full hidden">
<input type="text" id="template-contactform-botcheck" name="template-contactform-botcheck" value="" class="sm-form-control" />
</div>
</form>
詳細な説明については、サーバーのエラーログを確認してください。 –
私はアクセス権がありません、そうでなければ、/ – sforcash
はあなたがそれを探している感謝の気持ちです。リダイレクトが正常に動作していることをgoogle.comのようなものにリダイレクトしようとしましたか? – brad