PHPMailer 的电子邮件正文格式问题

Formatting issue with the body of the e-mail with PHPMailer

我在我的网站上使用 PHPMailer 作为联系表单。 它工作正常,但唯一的问题是所有内容都放在消息正文的同一行(消息、发送消息的 url 和用户代理),尽管 "\n"这应该将所有内容放在不同的行上。 问题是什么? 谢谢,

$mail->Body =  $_POST['message']."\nFrom page: ". str_replace("http://", "", $_SERVER['HTTP_REFERER']) . "\n" . $_SERVER ['HTTP_USER_AGENT'];

Windows 使用 \r\n 回车 Return、换行(从打字机时代开始)和 'nix 操作系统使用换行 \n,所以您可能正在测试在 windows 环境中。在任何情况下,默认输出都在 HTML 中,因此您确实希望使用 <br> 代替。虽然不确定 PHPMailer 的 altBody,也许您可​​以找到答案。

您似乎启用了 HTML 电子邮件,例如:

$mail->IsHTML(true);

解决方法是将“\n”替换为“
”,如下所示:

$mail->Body =  $_POST['message'].<br>From page: ". str_replace("http://", "", $_SERVER['HTTP_REFERER']) . "<br>" . $_SERVER ['HTTP_USER_AGENT'];