2017-05-27 12 views
0

フォームの詳細をメールに送信するためのフォームとPHPを作成しました。 )メール(:ローカルホストを通じてwampserverを経由してWebページを実行したときしかし、それは警告」とエラーが表示さ" localhostの"ポート25でメールサーバへの接続に失敗しました、あなたの" SMTP "と" SMTP_PORT " php.iniの設定または使用することを確認しますini_set()C:\ wamp \ www \私の元のweb \ PHP \ ContactUs.php 22行目」を参照してください。あなたのための最良の選択肢があるフォームの詳細をメールに送信

<div class="container"> 
 
    <form name="htmlform" method="POST" action="../PHP/ContactUs.php"> 
 
    
 
    <label for="name">Name</label> 
 
    <input type="text" id="name" name="name" placeholder="Your Name"> 
 

 
    <label for="email">Email Address</label> 
 
    <input type="text" id="email" name="email" placeholder="Your Email Address"> 
 

 
    <label for="phone">Phone Number</label> 
 
    <input type="text" id="phone" name="phone" placeholder="Your Phone Number"> 
 

 
    <label for="Message">Message</label> 
 
    <textarea id="message" name="message" placeholder="Write You Something" style="height:200px"></textarea> 
 

 
    <input type="submit" value="Submit"> 
 
    </form> 
 
    
 
    <?php 
 
//if "email" variable is filled out, send email 
 
    if (isset($_REQUEST['email'])) { 
 
    
 
    //Email information 
 
    $admin_email = "pinkmaidbe[email protected]"; 
 
    $name = $_REQUEST['name']; 
 
    $email = $_REQUEST['email']; 
 
    $phone = $_REQUEST['phone']; 
 
    $message = $_REQUEST['message']; 
 
    
 
    //send email 
 
    mail($admin_email, "$name", "$phone", "$message", "From:" . $email); 
 
    
 
    //Email response 
 
    echo "Thank you for contacting us!"; 
 
    } 
 
    
 
    //if "email" variable is not filled out, display the form 
 
    else { 
 
?> 
 

 
    
 
    
 
<?php 
 
    } 
 
?>

+1

ではなく、$ _POSTを使用する方が良いでしょう(両方とも$ _POST&$ _GET方法で動作します)、 '$ _REQUEST'を使用。このエラーは、あなたが開発システム上でこれを試していて、メールサーバが動作していないことを示唆しています。 – RamRaider

+0

@RamRaiderメールサーバの設定方法は? –

+0

これはかなり広いテーマで、PHPのスクリプトが後でインターネット上でホストされるときに開発システムで自分のメールサーバーを設定する時間と労力が必要かどうか尋ねなければなりません。あなたが 'localhost'で動作しているかどうかを確認するためにPHPコードにいくつかのロジックを追加し、そうであれば電子メールを送信しません。別の方法として、「Windows用のフリーメールサーバ」のためのグーグルを試してみるか、https://stackoverflow.com/questions/16830673/wamp-send-mail-using-smtp-localhost~そこに解決策がたくさんあります。 – RamRaider

答えて

0

ライン22にエラーがあなたが適切にメールを送信することができますPHPmailerこれを使用すると、時間のあなたの多くを保存する場所を私は見つけることができません。
How To Use PHPMailerこのチュートリアルはあなたをガイドします。

1

ヘッダーを使用する必要があります。また、サードパーティ製のサーバーテストツールを使用して、localhostのメールをテストすることもできます。例えば: - "テストメールサーバーツール"

<?php 

    $admin_email = "[email protected]"; 
    $name = $_REQUEST['name']; 
    $email = $_REQUEST['email']; 
    $phone = $_REQUEST['phone']; 
    $message = $_REQUEST['message']; 
     if(!empty($email)) 
     { 
      $headers = 'From:'.'[email protected]' . "\r\n" . 
       'Reply-To: Pink maid beauty saloon <[email protected]>' . "\r\n" . 
       'X-Mailer: PHP/' . phpversion() . "\r\n" . 
       'Content-type: text/html; charset=iso-8859-1'; 

      //mail (from,subject,body,headers) 
      mail($admin_email,"Your saloon", "$name "."$phone "."$message", $headers); 
      echo "Email successfully sent"; 


     } 
     mysqli_close($con); 

    ?> 
関連する問題