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'];
我在我的网站上使用 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'];