2015-10-26 145 views
-1

我有一个网站,并希望人们能够通过一个表格向我发送电子邮件。 我按照这个教程here,但它不发送电子邮件。PHP电子邮件不发送电子邮件

     <?php 
          $name = $_POST['name']; 
          $email = $_POST['email']; 
          $message = $_POST['message']; 
          $from = 'From: FPSUsename.xyz'; 
          $to = '[email protected]'; 
          $subject = $_POST['subject']; 

          $body = "From: $name\n E-Mail: $email\n Message:\n $message"; 

          if ($_POST['submit']) { 
           if (mail ($to, $subject, $body, $from)) { 
            echo '<p>Your message has been sent!</p>'; 
           } else { 
            echo '<p>Something went wrong, go back and try again!</p>'; 
           } 
          } 
         ?> 

         <form method="post" action="index.php"> 
          <div class="field"> 
           <label for="name">Name</label> 
           <input type="text" name="name" placeholder="Your Name"> 
          </div> 
          <div class="field"> 
           <label for="email">Email</label> 
           <input type="email" name="email" placeholder="Your Email"> 
          </div> 
          <div class="field"> 
           <label for="subject">Subject</label> 
           <input type="text" name="subject" placeholder="Subject"/> 
          </div> 
          <div class="field"> 
           <label for="message">Message</label> 
           <textarea name="message" id="message" rows="4" placeholder="Message"></textarea> 
          </div> 
          <ul class="actions"> 
           <li><input type="submit" id="submit" name="submit" value="Submit" /></li> 
          </ul> 
         </form> 

这是代码,但它总是显示“您的消息已发送!”即使我没有填满任何东西。 有人可以帮我吗?

+2

那么,你还没有对提交的数据做任何验证,以确保任何字段包含任何内容。你期望什么?另外,你似乎有两个不同的问题。问题是它不应该在什么时候发送邮件?或者当您将这些字段留空时,它会显示“您的消息已发送”? –

+0

它说:“你的消息已发送”,当你离开字段为空 但我使用required /在每个输入字段上修复它 – FPSUsername

回答

0

尝试添加验证。您不需要添加jQuery验证,您可以在输入字段中添加一个非常简单的验证,然后提交表单。然后检查垃圾邮件文件夹。

让我知道如果还有什么我可以帮助你。

+0

它将它们发送到我的垃圾文件夹,以及它的工作原理,但我该怎么做验证? – FPSUsername

+0

你只需要添加到你的输入字段示例将此添加到您的所有输入元素中。它会工作,但记住这一个是非常基本的验证。 –

+0

谢谢,它的工作原理! – FPSUsername

0

你没有在功能上任何验证,因此多数民众赞成的理由:。

您的邮件已发送”即使我没有填写任何 有人能帮助我吗?

另外,请检查您的垃圾邮件,如果你不实际接收数据。

我几个月前碰到了这一点,并了解到,主机不自动尝试重新发送消息的所有时间给客户这也可能是错误。