在php中使用mail()发送带换行符的电子邮件

在php中使用mail()发送带换行符的电子邮件,php,Php,我正在尝试使用php中的mail()发送电子邮件。我需要格式化消息,或者至少允许换行 $mail = mail(WEBMASTER_EMAIL, $subject, $message, "From: ".$name." <".$email.">/r/n" ."Reply-To: ".$email."/r/n" ."X-Mailer: PHP/" . phpversion()); $mail=mail(网站管理员电子邮件,$subject,$message, 发件人:“

我正在尝试使用php中的mail()发送电子邮件。我需要格式化消息,或者至少允许换行

$mail = mail(WEBMASTER_EMAIL, $subject, $message,
 "From: ".$name." <".$email.">/r/n"
 ."Reply-To: ".$email."/r/n"    
 ."X-Mailer: PHP/" . phpversion());
$mail=mail(网站管理员电子邮件,$subject,$message,
发件人:“.$name.”/r/n
“回复:”.$email.“/r/n”
“X-Mailer:PHP/”.phpversion());
我是否需要在$message或/r/n中提供“
”标记。两种方法都尝试过,但它们都以
或/r/n的形式出现,而不是换行

谢谢
Prady因为它是\r\n,它是\r\n,就像反斜杠而不是正斜杠一样

您也可以这样尝试:

$message = "

Hi!

This is one line.

And this is another.



Bye!
";

您应该设置邮件的内容类型 (阅读:告诉php您正在发送一封html电子邮件)


示例#5发送HTML电子邮件中对其进行了详细说明。

要格式化邮件正文,您应该使用\n,如下所示:

$message = "Hi!
\nThis is one line.
\nAnd this is another.
\nBye!";

这是格式化您的邮件正文。

这是我在腰围太多时间后得到的解决方案,它工作得非常好

echo "line 1".PHP_EOL."line 2".PHP_EOL;

如果您计划在浏览器中显示结果,那么您必须使用

about
只有当邮件以HTML格式发送时才有意义,否则它将只打印这5个字符注意:您将这些变量暴露给的任何人(即,从网站或数据库)都可以实施注入攻击。请参阅此处的示例:尝试使用此“\r\n”,而不是此“/r/n”,奇怪的是
\r\n
对我不起作用,但确实如此。请注意,控制字符\r\n不能用单引号括起来。使用\r\n控制字符时,始终使用双引号。