PHP从HTML表单发送电子邮件

时间:2018-10-03 03:13:59

标签: php html html-form

我想从html表单获取电子邮件。我正在跟踪一个使用PHP的教程,该教程以前从未使用过,并且似乎无法正常工作。当我点击提交后,php页面打开,但是没有电子邮件发送给我。有人可以帮帮我吗。

HTML(一些输入,例如姓名和电子邮件等,底部是一个提交按钮):

<form action="contact_form_process.php" method="POST">
    <section id="contact" class="py-3">
      <div class="container">
        <div class="row">
          <div class="col-md-9 mx-auto">
            <div class="card p-4">
              <div class="card-body">
                <h3 class="text-center lato-font">Please Fill Out This Form To Contact Us</h3>
                <hr>
                <div class="row">
                  <div class="col-md-6">
                    <div class="form-group">
                      <input id="first_name" type="text" class="form-control" placeholder="First Name">
                    </div>
                  </div>
                  <div class="col-md-6">
                    <div class="form-group">
                      <input id="last_name" type="text" class="form-control" placeholder="Last Name">
                    </div>
                  </div>
                  <div class="col-md-6">
                    <div class="form-group">
                      <input id="email" type="text" class="form-control" placeholder="Email">
                    </div>
                  </div>
                  <div class="col-md-6">
                    <div class="form-group">
                      <input id="phone_num" type="text" class="form-control" placeholder="Phone Number">
                    </div>
                  </div>
                  <div class="col-md-12">
                    <div class="form-group">
                      <textarea class="form-control" name="" id="message" rows="10" placeholder="Message"></textarea>
                    </div>
                  </div>
                </div>
              </div>
              <div class="card-footer">
                <input type="submit" class="btn btn-outline-success btn-block" value="Send">
                <button type="submit" class="btn btn-outline-success btn-block">Send</button>
              </div>
            </div>
          </div>
        </div>
      </div>
    </section>
  </form>

这是我的PHP:

<?php

  // Subject and Email Variables
  $emailSubject = 'Test Email';
  $webMaster = 'tamiroffen@gmail.com';

  // Gathering Data Variables
  $first_nameField = $_POST['first_name'];
  $last_nameField = $_POST['last_name'];
  $emailField = $_POST['email'];
  $phone_numField = $_POST['phone_num'];
  $messageField = $_POST['message'];

  $body = <<<EOD
<br><hr><br>
Email: $emailField <br>
Name: $first_nameField <br>
Phone Number: $phone_numField <br>
Message: $message <br>
EOD;

  $headers = "From: $emailField\r\n";
  $headers .= "Content-type: text/html\r\n";
  $success = mail($webMaster, $emailSubject, $body, $headers);



?>

谢谢!

2 个答案:

答案 0 :(得分:1)

mail()需要启用,因为@esqew在他的评论中指出-看起来像这样(这在我的BigRock环境YMMV中)-

ini_set("include_path", '<path to php>' . ini_get("include_path") );
require_once "Mail.php";

此外,如果您使用的是GMail,则还需要设置GMail以允许通过SMTP发送邮件-https://support.google.com/mail/answer/7126229?visit_id=636741342414654323-2069917091&hl=en&rd=1

答案 1 :(得分:0)

 $webMaster = 'tamiroffen@gmail.com';

我假设这是电子邮件发送到的地址。据我所知,PHP mail()函数不适用于gmail(如果它在接收器端)。

您可以只使用其他电子邮件提供商,例如hotmail或任何其他电子邮件提供商,并将其转发到您的gmail

如果需要更多视频,请观看此视频,How to create a PHP Contact Form Tutorial