PHP电子邮件:传递回车

时间:2013-10-21 12:00:02

标签: php html-email

您好我已经制作了一个由PHP生成的非常简单的HTML电子邮件。这是通过我网站上的联系表格提供的。我的问题是,我在用户的消息中使用了textarea框,这不会将回车带回PHP字符串。无论如何,我可以允许吗?因为当我收到电子邮件时,它看起来被压扁了。感谢。

更新:

我的代码:

if(count($_GET)){
$name = $_GET["name"];
$company = $_GET["company"];
$mail_from = $_GET["email"]; 
$phone = $_GET["phone"]; 
$address = $_GET["address"]; 
$postcode = $_GET["postc"]; 
$subject = $_GET["subject"]; 
$message = nl2br($_GET["comment"]);
$headers = "From: " . strip_tags($_GET['email']) . "\r\n";
$headers .= "Reply-To: ". strip_tags($_GET['email']) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";}

然后验证字符串

if ($valid = true){
$finalmessage = '<html><body>';
$finalmessage .= '<p>From: '.$name.'</p>';
$finalmessage .= '<p>Company: '.$company.'</p>';
$finalmessage .= '<p>Email: '.$mail_from.'</p>';
$finalmessage .= '<p>Phone: '.$phone.'</p>';
$finalmessage .= '<p>Address: '.$address.'</p>';
$finalmessage .= '<p>Postcode: '.$postcode.'</p>';
$finalmessage .= '<p>Message:<br /> '.$message.'</p>';
$finalmessage .= '</body></html>';

$to ='myemail@myemail.co.uk';
$send_contact=mail($to,$subject,$finalmessage,$headers);}

这仍然不起作用。一切正常但是如果用户在textarea中使用回车,则不会传递并且实际消息会被刷新。

2 个答案:

答案 0 :(得分:0)

您必须使用nl2br($text); ..

答案 1 :(得分:0)

换行符(\ r,\ n)不会在html中生成换行符。你试过nl2br($ userinputtext)吗?