-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] セクションをメッセージから 2 つの改行で区切るように設定したので、次のようになります。

[From: ジョン]

おい。

しかし、そうではありません。

メッセージを複数行にすると、それらも 1 行に連結されます。この動作を防ぐにはどうすればよいですか? 私のコードはそれを許可していましたが、どういうわけかそれを壊しました...

4

1 に答える 1

2

html形式で送信しているためです。試す:

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