Сценарий отправки контактной формы - проблема с электронной почтой HTML - PullRequest
2 голосов
/ 21 августа 2011

У меня есть скрипт контактной формы, и когда пользователь отправляет его, он получает электронное письмо, а я его получаю.Но есть проблема с текстовой областью "message" в HTML-письме.Это помещает все это в одну строку.

Посмотрите, как я набираю это:

enter image description here

И затем в электронном письме, отправленном мне (HTML), все водна строка:

enter image description here

Как видите, все это в одной строке.Как я могу получить это, чтобы не быть в этой строке?

Это мой код:

<?php

// load the variables form address bar
$subject = $_POST["subject"];
$message = $_POST["message"];
$from = $_POST["from"];
$name = $_POST["name"];
$verif_box = $_POST["verif_box"];

// remove the backslashes that normally appear when entering " or '
$message = stripslashes($message);
$subject = stripslashes($subject); 
$from = stripslashes($from); 
$name = stripslashes($name);
$emailContent = "Hello Nathan,

".$name." is trying to contact WeeBuild Support. Here's what they submitted:
<br /><br />
<div style='background-color:#ccc;padding:10px;border:1px solid grey;'>

Name: <strong>".$name."</strong>
<br /><br />
Email: <strong>".$from."</strong>
<br /><br />
Subject: <strong>".$subject."</strong>
<br /><br />
Message: 
<br /><br />
<strong>".$message."</strong>
<br /><br /><br />
Their IP Address: <strong>".$_SERVER['REMOTE_ADDR']."</strong>

</div>
<br /><br />
To email them back, simply reply to this message.";


$emailContents = "Hello ".$name.",

Thank you for contacting WeeBuild Support! This email is to let you know that we have received your support request and that we will reply soon. 

For your record, here is what you submitted:

-----------------------------------------------------------------------------

Your Name: ".$name."

Your Email: ".$from."

Subject: ".$subject."

Message: 

".$message."

-----------------------------------------------------------------------------

In the meanwhile, make sure to add support@weebuild.biz to your contact list/safe senders list so our emails don't end up in your junk folder.


We will be with you shortly!

Kind regards,
WeeBuild Support Team
www.WeeBuild.biz";

$emailContent = stripslashes($emailContent);
$emailContents = stripslashes($emailContents);
$headers = "From: " . $from . "\r\n";
$headers .= "Reply-To: ". $from . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";


// check to see if verificaton code was correct
if(md5($verif_box).'a4xn' == $_COOKIE['tntcon']){
    // if verification code was correct send the message and show this page
    mail("nathan@weebuild.biz", 'WeeBuild Contact Form: "'.$subject.'"', $emailContent, $headers);
    mail($from, 'Thank you for contacting WeeBuild Support!', $emailContents, "From: support@weebuild.biz");
    // delete the cookie so it cannot sent again by refreshing this page
    setcookie('tntcon','');
} else if(isset($message) and $message!=""){
    // if verification code was incorrect then return to contact page and show error
    header("Location: index.php?name=$name&subject=$subject&from=$from&message=".urlencode($message)."&wrong_code=true");
    exit;
} else {
    echo "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">
<html><head>
<title>Access Denied</title>
<style type=\"text/css\">
body {
font-family: Arial, sans-serif;
}
</style>
</head><body>
<h1>Access Denied</h1>
<p>This page cannot be accessed directly. The needed variables to submit were not provided.</p>
</body></html>";

    exit;
    }
?>

Примечание: $emailContent - это электронное письмо, которое мне отправляется, а $emailContents - это электронное письмо, которое отправляется пользователю.

Я попытался использовать str_replace(), и это только вызвало проблемы с анализом, и я не мог заставить это работать.Я уверен, что я не использовал это правильно.

Может кто-нибудь помочь мне с этим?Любая помощь высоко ценится.

Ответы [ 2 ]

3 голосов
/ 21 августа 2011

использовать nl2br();

Поэтому отредактируйте этот фрагмент

Message: 

".$message."

до

Message: 

".nl2br($message)."
1 голос
/ 21 августа 2011

Вы можете использовать функцию nl2br() на $message, чтобы преобразовать переводы строк в теги <br />.

...