0

次の php コードがあるとします。

 <html>
     <body>
     <?php 
         $fname ="First Name = ".$_REQUEST['fname']."\n"; 
         $lname ="Last Name = ".$_REQUEST['lname']."\n";
         $breakfast = "Desired Breakfast = ".$_REQUEST['breakfast']."\n";
         $floor ="Desired Floor = ".$_REQUEST['floor']."\n"; 
         $to = "XXXX@gmail.com";
         $email="XXXX@gmail.com";
         $subject="shenkar php form from erez geva site";
         $body =$fname.$lname.$breakfast.$floor;
         if (mail($to, $subject, $body, "From: $email")){
             header("Location: http://localhost:9090/sent.html");
             exit();
         }else{
             echo("<p>Message delivery failed...</p>");
         } 
     ?>
     </body>
 </html>

動作しません。ユーザーが目的のオプションを選択する Index HTML ファイルは適切に記述されているため (私の教授によると)、問題は別の場所にあると仮定します。その php ファイルに直接アクセスすると、localhost\send.php というエラーが表示されます。

警告: mail() [function.mail]: 「localhost」ポート 25 でメールサーバーに接続できませんでした。php.ini で「SMTP」と「smtp_port」の設定を確認するか、C:\wamp\www\ で ini_set() を使用してください12 行目の send.php

その意味は何ですか?

4

3 に答える 3

1

これを行うには、ローカル メールサーバーをインストールする必要があります。外部のメールアドレスに送信したい場合、迷惑メールになってしまったり、まったく届かない場合があります。

私が使用している優れたメールサーバー (Linux で使用していますが、Windows でも使用できます) は Axigen です: http://www.axigen.com/mail-server/download/

インストールするには、メールサーバーの経験が必要かもしれませんが、機能するようになれば、やりたいことは何でもできます。

于 2013-06-04T09:29:01.183 に答える
-1

ローカル サーバーから電子メールを送信できません。ファイルを Web サーバーにアップロードしてから、このコードを実行してみてください。それが動作します。

于 2013-06-04T09:34:50.773 に答える