0

http://swedsb.comの「Greet Us」ページに連絡フォームを設置しました。

フォームを送信すると、メールが正常に送信されたと表示されます。しかし、メールが届かないので、スパムフォルダーを確認しました。

http://ibsolutions.inで同様のフォームを設定しました。それは完全に機能しています。

過去4時間、頭が壊れていました。ここに私のcontact.phpがあります

<?php 

    if(isset($_POST['submit'])) {
    $to = "ekalaivan@gmail.com";
    $subject = $_POST['posRegard'];
    $name = $_POST['posName'];
    $email = $_POST['posEmail'];

    if ( preg_match( "/[\r\n]/", $posName ) || preg_match( "/[\r\n]/", $posEmail ) ) {
    header( 'Location: http://swedsb.com/' );
    }

    $message = $_POST['posText'];
    $body = "$name has sent you a greeting. \n E-Mail: $email\nMessage:\n $message";

    mail($to, $subject, $body);
    header( 'Location: http://swedsb.com/' );
 } 
 else {echo "blarg!";}?>
4

3 に答える 3

2

PHP は常にメールが送信されたと言うでしょう... あなたの php.ini ファイルで sendmail のパスをチェックします...

于 2010-05-03T15:24:08.753 に答える
0

メールサーバーのログを確認することをお勧めします。一般的に言えば、それらは/var/log/mail.logのような場所にあります。

ログファイルを見つけたら、スクリプトを実行し、すぐにログファイルを確認して、何が起こるかを確認します。受信者(アドレス)の電子メールを検索して、ログのエントリを見つけます。

頑張ってください!

psこのスクリプトには、現状のままでいくつかの重大なセキュリティ問題があります。スパマーがあなたのコードをだまして彼らに代わって電子メールを送信させようとすることを期待してください。特に、電子メールのヘッダーまたはコンテンツの一部として使用される変数を確認することが重要です。これらの値はサニタイズする必要があります。行フィード、マルチパート/混合MIMEコンテンツ境界マーカー、BCCまたはその他のヘッダー、およびその他の面白そうなものを探します。常に指定した明示的な電子メールアドレスから送信してください。ユーザーがWebフォームに入力した送信元アドレスは使用しないでください。

于 2010-05-03T15:59:53.053 に答える
0

間にスペースはありません

<?phpif

スクリプトは問題ないようです。ini ファイルを確認するか、メール設定がオンになっている場合はサーバー管理者に連絡してください。

于 2010-05-03T15:27:32.803 に答える