2015-11-24 6 views
1

Это действительно основной вопрос, но я не могу понять это вообще. Когда эта форма PHP отправляется, она не отправляет электронное письмо, и я не знаю, почему. Надеюсь, вы, ребята, можете помочь.Почему эта форма обратной связи PHP не отправляет электронное письмо?

<?php 
if($_POST['submit']){ 
    $to = "[email protected]"; 
    $from = $_POST['email']; 
    $name = $_POST['name']; 
    $subject = "Form submission"; 
    $message = $name . " wrote the following:" . "\n\n" . $_POST['message']; 
    $headers = "From:" . $from; 
    mail($to,$subject,$message,$headers); 
    echo "Mail Sent. Thank you " . $name . ", we will contact you shortly."; 
    header('Location: http://example.com') ; 
    } 
?> 


<container class="form"> 
     <table class="formtable" align="center"> 
     <form action="formcontact.php" method="post"> 
      <tr><td align="center" class="tabletitle">Name:</td></tr><tr class="space"><td align="center"><input type="text" name="name"></td></tr> 
      <tr><td align="center" class="tabletitle">Email Address:</td></tr><tr class="space"><td align="center"><input type="text" name="email"></td></tr> 
      <tr><td align="center" class="tabletitle">Message:</td></tr><tr class="space"><td align="center"><textarea rows="5" name="message" cols="30"></textarea></td></tr> 
      <tr><td align="center"><input type="submit" name="submit" value="submit"></td></tr> 
     </table> 
    </container> 

Благодаря

+0

Что ошибка? try 'if (mail ($ to, $ subject, $ message, $ headers)) {echo 'sent'} else {echo 'not sent'}' –

+1

возможно, это из-за отсутствующего тега формы? Вы когда-нибудь могли отправлять письма с вашего сервера? Вы уверены, что почта установлена ​​и готова к запуску? –

+0

вы пытаетесь сделать это на localhost? – mega6382

ответ

-1

Проверить этот путь:

<?php 
if($_POST['submit']){ 
    $to = "[email protected]"; 
    $from = $_POST['email']; 
    $name = $_POST['name']; 
    $subject = "Form submission"; 
    $message = $name . " wrote the following:" . "\n\n" . $_POST['message']; 
    $headers = "From:" . $from; 
    if(mail($to,$subject,$message,$headers)){ 
     echo "Mail Sent. Thank you " . $name . ", we will contact you shortly."; 
     header('Location: http://example.com') ; 
    }else 
    { 
      echo "Mail failed to Sent"; 
    } 
} 
?> 
+0

Он просто скроет сообщение, если почта не отправлена, это не объяснит, почему почта не отправляется ... – Random

0

В вашем HTML файле

форма в фикция = «» метод = «пост»

должен сделать трюк (если, конечно, вы в том числе ваш HTML в PHP)