2016-04-04 18 views
0

私はPHPを学んでいますが、自分自身にHTML形式を使って電子メールを送信しようとしていますが、うまくいきません。phpとhtml形式の電子メールを送信

<form action="index.php" role="form" method="post" name="emailform"> 
         <div class="form-group"> 
          <label for="email">Email address:</label> 
          <input type="email" class="form-control" id="email" name="email"> 
         </div> 
         <div class="form-group"> 
          <label for="comment">Text:</label> 
          <textarea type="textarea" class="form-control" id="textarea" rows="5" name="textarea"></textarea> 
         </div> 
         <button type="submit" class="btn btn-default" id="submit" name="submit">Submit</button> 
        </form> 

        <?php 
         function email() 
          { 
          $to = 'my_mail'; 
          $message = $_POST['textarea']; 
          $from = $_POST['email']; 
          $subject = 'Portfolio'; 
          $mail_headers = "From: " . $from . " <" . $from . ">\r\n"; 
          $mail_headers .= "Reply-To: " . $from . "\r\n"; 
          $mail_headers .= "X-Mailer: PHP/" . phpversion(); 

          echo $to . " " . $message . " " . $from; 
          if(@mail($to, $subject, $message, $mail_headers)) 
           echo @mail($to, $subject, $message, $mail_headers); 
          else echo "ERROR"; 
          } 

if(isset($_POST['submit'])) 
email(); 
?> 

my_mailは(私はここでそれを置き換えますが、コードで私の本当のメールがあります)私のメールです。 コードは、実際にそれが @mail エコーを表示しますが、メールが

+0

でしょうか? –

+0

@DivyeshSavaliyaはい、私はlocalhostにいます! – untruste

+1

メールを送信するようにサーバーを構成する必要があります。ローカルサーバーにSMTPをセットアップする必要があります –

答えて

0

コードは正常に見える私の受信トレイに表示されない、動作するようには思えますが、私はので、@は、メール機能であなたが表示されないと思います任意のエラー。エラーがスローされていないこのように

<?php 
if(@mail($to, $subject, $message, $mail_headers)){ 
    echo "Mail Sent!"; 
}else{ 
    print_r(error_get_last()); 
} 
?> 

をしかし、あなたがしたい場合は、エラーを参照してください()error_get_last使用して、それを記録することができます:あなたはエラーを表示したくない場合は、このようにそれを使用することができます。

PSメール機能を2回使用していますので、動作させるには2回メールが送信されます。

0

ここで正しい方法です。

<form action="contact.php" etc... etc..> 
blah blah blah 
</form> 

は次に、新しいPHPファイル(contact.php)を作成し、ローカルホスト上にある以下の

<?php 

$field_name = $_POST["cname"];/* change " " according to your form */ 
$field_email = $_POST["cmail"]; 
$field_sub = $_POST["csub"]; 
$field_message = $_POST["cmsg"]; 

$to = "[email protected], [email protected]"; 
$subject = " give subject" ; 
$message = "message"; 

if(mail($to,$subject,$message)) 
{ 
     echo "<script>alert('Your Message was sent Successfully. Thank You For Your Time !');</script>"; 
     } 
     else 
     { 
     echo "<script>alert('Something wrong happened. Please try again later. Sorry For The Trouble');     </script>"; 
     } 


?> 
<meta http-equiv="refresh" content="2; url=contact.html"> 
<!-- for coming back to intial page --> 
関連する問題