为什么换行符\n无法进行php表单提交

为什么换行符\n无法进行php表单提交,php,phpmailer,Php,Phpmailer,我使用以下方式从表单发送电子邮件: <?php $mail->Body = "New application от,\r\n Name: $name\r\n Gender $gender\r\n Phone: $phone\r\n Email: $email\r\n Program: $program"; ?> 当我收到电

我使用以下方式从表单发送电子邮件:

<?php
$mail->Body = "New application от,\r\n
               Name: $name\r\n
               Gender $gender\r\n
               Phone: $phone\r\n
               Email: $email\r\n
               Program: $program";

?>


当我收到电子邮件时,一切都是一行。如果没有“\r\n”

请尝试为此目的使用
PHP\u EOL
(由于跨平台兼容性)

echo“line 1.PHP_EOL.”line 2.PHP_EOL;

您不显示其余代码,但我猜您正在调用
$mail->isHTML()
,在这种情况下,换行符将不会显示在呈现的消息中,无论它们是
\n
还是
\r\n
。在正文中添加

标记,请注意,您不需要再添加任何换行符,因为您的字符串已经包含这些换行符:

$mail->Body = "New application от,<br>
           Name: $name<br>
           Gender $gender<br>
           Phone: $phone<br>
           Email: $email<br>
           Program: $program";
$mail->Body=“新应用程序,
名称:$Name
性别$性别
电话:$Phone
电子邮件:$Email
方案:$方案“;
代码的其余部分在哪里?发送方式未知。我不明白您所说的“当我收到电子邮件时,所有内容都是一行。没有“\r\n”。我想您留下了问题,我现在也留下了。你需要接受这个问题并给出答案。我要求澄清,但没有收到回复。我正在收到电子邮件,所有内容都在一行中。你还需要什么澄清?我说我留下了问题,你根据你写的内容而不是我问的内容把我带回来。再一次,用下面的答案来回答,谢谢。这是因为正文内容是HTML的。@Synchro,因为我问了他们,但没有得到关于这个问题的更新,所以我们真的不知道。因此,这个答案可能和你的答案一样错误或正确。通过排除,答案是否定的。如果他在Windows上,换行符将是原生的
/r/n
,因此在纯文本上下文中,他会有两倍行距(显式和隐式换行符)。在Linux上下文中,文本将同时具有
\n
\r\n
中断,这将导致至少一次中断(如果不是两次的话)。两种换行格式都不会导致换行。我能想到的另一个忽略换行符的原因是它是HTML,因此我给出了答案。谢谢!与一个
$mail->Body = "New application от,<br>
           Name: $name<br>
           Gender $gender<br>
           Phone: $phone<br>
           Email: $email<br>
           Program: $program";