保留电子邮件正文中的换行符

时间:2011-02-14 08:27:41

标签: php html

我有一个反馈表单,用户可以在textarea中输入他/她的反馈。提交表单时,我使用php邮件功能将所有用户详细信息发送到我的邮件中。

mail( "aaa@ddd.com", "Subject: Comments posted by $postedBy", $message, "From: $emailID" );

此处$message是用户评论。但我在电子邮件正文中得到了类似的内容。

Hi.test line break\r\nnew line\r\nnewline 2\r\ntest again\r\nagain.

文本区域中的换行符显示在邮件中。我怎样才能解决这个问题?

编辑:

$message = mysql_real_escape_string($_POST['comments']);

3 个答案:

答案 0 :(得分:2)

您的代码中有一些函数用\ r \ n替换换行符。
只需跟踪您的代码并查看更换的位置,然后将其删除 没什么大不了的。

答案 1 :(得分:2)

\ r \ n是直接显示还是全部在一行而没有看到\ r \ n? 最后,我认为你必须设置正确的内容类型。 在http://php.net/manual/en/function.mail.php上的示例4中,您可以看到如何设置内容类型。但你必须使用普通/文本。

修改 编辑之后:mysql_real_escape可以控制所有换行符。在你的邮件上使用$ _POST ['comment']() - 让它运作起来!

mail($to, $subject, $_POST['comment'], $from);

答案 2 :(得分:-1)

我不确定您是否尝试过此操作,但可以尝试将“\ r \ n”替换为“< br>”。
或者,看看你是否可以更改电子邮件mime类型
检查这个 http://php.bigresource.com/Email-MIME-Types-KesYPexl.html