-5

フォーム アクションとして自身を参照する問い合わせフォームを含む php ページがあります。

完了すると、フォームは try-catch コンストラクト内でデータベースに書き込みます。管理者に電子メールを送信して、誰かが自分自身をデータベースに追加したことを伝えたいです。

すべてのコードは、次の時点まで機能します。

if(mail($to, $subject, $message, $headers, '-f' . $from))
{ #And finally send them a thanks
   header('Location: thanks.html.php');
   exit();
} else {
   echo 'Email did not send';
   exit();
}   

このブロックの上のコードは、データベースへの書き込みを取得するためすべて機能し、感謝ページへのリダイレクトも機能するため、「if」テストに合格します! 私は何を逃したのですか?

4

2 に答える 2

0

を利用しようとしているようですadditional parameters

PHPマニュアルより抜粋

additional_parameters パラメータを使用して、sendmail_path を使用してメールを送信するときに使用するように構成されたプログラムに追加のパラメータを渡すことができます。

<?php
mail('nobody@example.com', 'the subject', 'the message', null, '-fwebmaster@example.com');
?>

ルート : 2

このようなことを試してください。

Your$from$headers変数自体に含まれているため、指定する必要はありません。

 <?php
    $to      = 'nobody@example.com';
    $subject = 'the subject';
    $message = 'hello';
    $headers = 'From: webmaster@example.com' . "\r\n" .
        'Reply-To: webmaster@example.com' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();

   if(mail($to, $subject, $message, $headers))
    { #And finally send them a thanks
   header('Location: thanks.html.php');
   exit();
   } else {
   echo 'Email did not send';
   exit();
   }   
   ?>
于 2013-10-30T18:14:49.290 に答える
0

最後に...答え。コードに問題はありません!メールの Web ホスト アンチ スパム フィルタに落ちていました。私は自分の電子メール アドレスでスクリプトをテストしていたため、スパムと見なしてメールの送信を拒否しました。完全に新しいメールアドレスを入力するとすぐに、メールが送信されました!

助けてくれたみんなに感謝します!

于 2013-11-01T14:01:46.693 に答える