2014-01-20 72 views
0

我见过这个问题在这里提出了很多次,大多数答案都是一样的:使用nl2br()函数。这是伟大的,只要它去...... 总之,第一,它发送的内容为$消息的形式:如何保留textarea转换为php邮件时的换行符

<textarea name=aMessage rows="46" cols="60" tabindex=5 value=<?php $message; ?> > 
Honourable Jane Doe, 
Minister of Environment 

Sincerely, 

</textarea> 

然后转换:

$message = nl2br(htmlentities($message)); 
echo $message; 

注:与使用nl2br的(),下面的回显显示正确插入换行符的内容。大!然后将其移交给send_mail()函数,其产生的格式的电子邮件(整齐盒等) - 它看起来像:

function send_email($name,$mail,$message) { 
$to = "[email protected]"; 
$subject = "Testing - Public Input"; 
$body = " 
<html><head> 
</head><body>Testing - Public Input<br><br> 
<table> 
<tr><th>Name:</th><th>Email Address:</th></tr> 
<tr><td>".$name."</td><td>".$mail."</td></tr> 
<tr><th>FEEDBACK:</th></tr> 
<tr> 
<td colspan='2' style='padding:10px;display:block'>".$message."</td> 
</tr> 
</table> 
</body> 
<html> 
"; 
$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; 
$headers .= "From: [email protected]\n"; 
mail($to,$subject,$body,$headers); 
} 

在这一点时,产生与NO换行符的电子邮件。哪里不对?

回答

0

试试这个:

function send_email($name,$mail,$message) { 
$to = "[email protected]"; 
$subject = "Testing - Public Input"; 
$body = <<< EOF 
<html><head> 
</head><body>Testing - Public Input<br><br> 
<table> 
<tr><th>Name:</th><th>Email Address:</th></tr> 
<tr><td>".$name."</td><td>".$mail."</td></tr> 
<tr><th>FEEDBACK:</th></tr> 
<tr> 
<td colspan='2' style='padding:10px;display:block'>".$message."</td> 
</tr> 
</table> 
</body> 
<html> 
EOF; 
$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; 
$headers .= "From: [email protected]\n"; 
mail($to,$subject,$body,$headers); 
}