我有一个反馈表单,用户可以在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']);
答案 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