这是脚本:
<?php
$name = $_POST["name"];
$email = $_POST["email"];
$message = $_POST["message"];
$recipient = "me@christianselig.com";
$subject = "Message From Website";
$body = "[From: " . $name . "]\r\n\r\n" . $message;
$headers = "From: " . $email . "\r\n";
$headers .= "Content-type: text/html; charset=UTF-8" . "\r\n";
$success = mail($recipient, $subject, $body, $headers);
echo $success;
?>
在此页面上:christianselig.com/contact.html
我的邮件将在没有任何换行符的情况下发送。我已将它设置为使用双线换行将[From:xxx]部分与消息分开,因此它应如下所示:
[来自:约翰]
嘿。
但事实并非如此。
如果我将消息长多行,它也会在一行上连接它们。我该如何防止这种行为?我的代码曾经允许它,但我以某种方式打破了它......
答案 0 :(得分:2)
因为您使用html格式发送它。尝试:
$body = nl2br("[From: " . $name . "]\r\n\r\n" . $message);