联系表:电子邮件未发送

Contact Form: Email Not Sent

当用户输入他们的联系方式并按下提交按钮时,我的联系表单没有发送电子邮件。我做错了什么?

HTML:

    <div class="row">
    <form action="mail.php" accept-charset="utf-8" method="post">
    <div class="form-group contacts-form-result">
    <div class="col-xs-12">
    <strong></strong>    
    </div>
    </div>
    <div class="form-group clearfix">
    <div class="col-xs-12 col-md-6">
    <input type="text" placeholder="Your name *" name="name" class="form-control" required>
    </div>
    </div>
    <div class="form-group clearfix">
    <div class="col-xs-12 col-md-6">
    <input type="email" placeholder="Your e-mail address *" name="email" class="form-control" required>
    </div>
    </div>
    <div class="form-group clearfix">
    <div class="col-xs-12">
    <textarea placeholder="Your message *" rows="7" name="message" class="form-control" required></textarea>
    </div>
    </div>
    <div class="form-group clearfix">
    <div class="col-xs-12">
    <button type="submit" class="btn btn-2">Send Enquiry</button>
    </div>
    </div>
    </form>

PHP:

<?php

if (isset($_POST['submit'])){
  $subject = $_POST['subject'];
  $name = $_POST['name'];
  $mailFrom = $_POST['email'];
  $message = $_POST['message'];

  $mailTo = "myemail@email.com";
  $headers = "Enquiry from: ".$mailFrom;
  $txt = "Name: ".$name."\n"."Message: ".$message;

mail($mailTo, $subject, $txt, $headers);

 header("Location: success.html?mailsent");

}?>

我该如何解决这个问题,以便在按下按钮时发送一封电子邮件?谢谢。

您正在检查名为 submit:

的表单元素
if (isset($_POST['submit'])){

但是你没有命名 submit。只是 type submit。给它起个名字:

<button type="submit" name="submit" class="btn btn-2">Send Enquiry</button>

在发布表单时发送到服务器的 key/value 对中,元素的 name 属性是键。没有名称,它不会发送到服务器。