0

PHPでメールを送ろうとしています。私は次のようにしていますが、ブラウザに何も出力されず、電子メールも送信されないようです。誰かが私が間違っていることを見ることができますか?

    $to = "liam@mysite.co.uk";
$subject = "Alien Sighting";
$message = foreach ($_POST as $key=>$value) {
    $$key = $value;
}
$from = "Sighting@site.co.uk";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
4

5 に答える 5

0

$_POST コンテンツを提供していただけますか?

PHP 構成にすべてのエラー メッセージが表示されますか? 開発環境で error_reporting (E_ALL) を使用して、タイプミスやエラーを見つけてください。これは、ブラウザへの出力を取得するのに役立ちます。

于 2012-11-04T19:20:08.127 に答える
0

コンピューターでスクリプトを実行している場合は、電子メールを送信するように SMTP サーバーをセットアップする必要があります。それ以外の場合は、テスト サーバーを取得できるため、自動的に送信される SMTP をセットアップする必要はありません。

于 2012-11-04T19:24:09.997 に答える
0

Rmail.php を使用していますか? コードをウェブサーバーにアップロードしていますか、それともローカル PC にアップロードしていますか?

私は常に Rmail.php を使用してメールを送信しています。

$mail = new Rmail();
$mail->setFrom(YOUR ADDRESS);
$mail->setSubject(YOUR SUBJECT);
$mail->setHTML($textSchueler);
$mail->send(array($address));
于 2012-11-04T19:25:17.200 に答える
0

また、サーバーがメールを送信するように構成されていることを確認してください。独自のサーバーをセットアップする場合やローカルで開発する場合は、ほとんどの共有ホスティング アカウントが構成されますが、PHP にはメッセージを送信する方法がない場合があります。mail() 関数がメッセージが正常に送信されたことを示す true を返すかどうかを確認してから、サーバーのメール ログを調べて送信を確認してください。

于 2012-11-04T19:26:45.690 に答える
0

PHP がブラウザーに何も出力しない (出力する必要がある場合でも) このような状況では、echoステートメントの前にスクリプトが失敗する可能性が高くなります。

エラー報告を無効にしていないことを確認してください。PHPランタイム構成 error_reportingおよびを参照してくださいdisplay_errorsコード内のerror_reporting()関数を使用して、ランタイムでもエラー報告の動作を変更できます。エラー報告を有効にすると、問題の原因を突き止めるのに役立ちます。

ブラウザーでエラー報告を無効にしていたとしても、Web サーバーのログを確認してください。問題の詳細がわかるはずです (スクリプトの構文エラー、mail 関数呼び出しによるメール配信の失敗など、多くの可能性があります)。

于 2012-11-04T19:30:48.913 に答える