为什么\n不能处理我的PHP脚本的一行,但是对其他所有脚本都没问题?

Chr*_*ris 5 php server-side-scripting

我正在写一封电子邮件,要求在提交表格时发送.出于某种原因,\n角色在所有行上都能正确显示,但只有一行.我看不出这一行与其他行有什么区别,所以无法弄清楚它为什么不起作用.代码如下,连同我得到的输出以及使用的变量列表.

正如您在电子邮件中看到的那样,\n"工作地址"行的末尾不起作用,因此"公司名称"只是紧接着,而不是在下一行.然后\n公司名称工作正常,所以家庭地址在下一行.

这是消息的代码:

$xmsg = "First Name: $firstname\n" .
        "Last Name: $lastname\n" .
    "Work Tel: $worktel\n" .
    "Home Tel: $hometel\n" .
    "Mobile Tel: $mobtel\n" .
    "E-mail: $email\n" .
    "Work Address: $workad\n" .
    "Company Name: $company\n" .
    "Home Address: $homead\n" .
Run Code Online (Sandbox Code Playgroud)

这是输出:

First Name: Joe
Last Name: Bloggs
Work Tel: 0123456789
Home Tel: 0987654321
Mobile Tel: 0789456123
E-mail: joe.bloggs@jb.co.uk
Work Address: Bloggoffice, Joe Street, London, N1 J0E Company Name: 
Home Address: 9 Blogg Street, Borough of Joe, London, SE4 J03
Run Code Online (Sandbox Code Playgroud)

如果它有用,这里是使用的变量列表:

$firstname = $_SESSION['firstname'];
$lastname = $_SESSION['lastname'];
$worktel = $_SESSION['worktel'];
$hometel = $_SESSION['privtel'];
$mobtel = $_SESSION['mobtel'];
$email = $_SESSION['email'];
$company = $_SESSION['companyname'];
$workad = $_SESSION['workad1'] . ', ' . $_SESSION['workad2'] . ', ' .     $_SESSION['workad3'] . ', ' . $_SESSION['workpostcode'];
$homead = $_SESSION['homead1'] . ', ' . $_SESSION['homead2'] . ', ' . $_SESSION['homead3'] . ', ' . $_SESSION['homepostcode'];
Run Code Online (Sandbox Code Playgroud)

我会感激任何帮助,我希望这不仅仅是一个我忽略的愚蠢错误!

cnk*_*nkt 1

使用PHP_EOL常量似乎比使用更正确\n。因为PHP_EOL它是每个平台的正确行尾字符。