【问题标题】:PHP Send Email From HTML FormPHP 从 HTML 表单发送电子邮件
【发布时间】:2018-10-03 11:51:46
【问题描述】:

我想从 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);



?>

谢谢!

【问题讨论】:

  • 您的环境中是否启用了mail()
  • 我在使用 VScode,如何检查?
  • @TamirOffen 你是在本地主机上做的吗?
  • 是的,我使用的是本地主机

标签: php html forms


【解决方案1】:

@esqew 在他的评论中指出,需要启用 mail() - 这看起来像这样(这是在我的 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

【讨论】:

    【解决方案2】:
     $webMaster = 'tamiroffen@gmail.com';
    

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-31
      • 2011-03-04
      • 1970-01-01
      • 2012-07-02
      • 2016-03-11
      • 1970-01-01
      相关资源
      最近更新 更多