-1

这是脚本:

<?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] 部分与消息分开,所以它应该如下所示:

[来自:约翰]

嘿。

但事实并非如此。

如果我将消息设为多行,它也会将它们连接到一行。如何防止这种行为?我的代码曾经允许它,但我以某种方式破坏了它......

4

1 回答 1

2

因为您使用 html 格式发送它。尝试:

$body = nl2br("[From: " . $name . "]\r\n\r\n" . $message);
于 2012-10-09T23:10:35.527 回答