1

次のコードでは、$message を HTML で表示すると (pre タグでラップされて) 新しい行が含まれていますが、メールには表示されません (Gmail に送信しました)。

error_reporting(E_ALL);
ini_set('display_errors', 'on');
include "../code/dbstuff.php";
$to = "me@mail.com";
$from = "";
function processMessage($arr) {
  global $from;
  $message = "Hello from me\n\n\n";
  foreach ($arr as $key => $val) {
    if (isset($_POST[$key])) {
      $message.=$val . ": " . $_POST[$key] . "\n\n";
    } else {
      $message.=$val . ": empty" . "\n\n";
    }
  }
  $message.= "Date: " . date('l F d, Y');
  from = $_POST['contact_email'];
  return $message;
}

$message = processMessage(array(
    "firstname" => "First Name",
    'lastname' => 'Last Name'
));
//save in db
$conn=new db();
$conn->insertMessage($from,$message);
mail( $to,$message,"From: $from" );
header( "Location: thankyou.php" );
4

2 に答える 2

2

ヘッダーに「件名」パラメーターが欠けているため、問題が発生することは間違いありません。

これ:

mail( $to,$message,"From: $from" );

次のように読む必要があります。

mail( $to,$message,$subject,"From: $from" );

の影響に何かを追加しながら:

$subject =  "Incoming message";`
于 2013-10-26T14:31:54.343 に答える