PHP Contact Form Send Email Tutorial

In this tutorial, you will learn how to make a contact us form to send an email in PHP.

How to Send Email from Contact Us Form in PHP?

Here are steps:

  • Step 1 – Create a Contact Form in PHP
  • Step 2 – Create Script To Send Email in PHP

Step 1 – Create Contact Form in PHP

In this step, you need to create contact send email form with validation and add the following code to your contact-form.php file:

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>Contact Form in PHP</title>
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
  <style>
    .container {
      max-width: 500px;
      margin: 50px auto;
      text-align: left;
      font-family: sans-serif;
    }
    form {
      border: 1px solid #1A33FF;
      background: #ecf5fc;
      padding: 40px 50px 45px;
    }
    .form-control:focus {
      border-color: #000;
      box-shadow: none;
    }
    label {
      font-weight: 600;
    }

    .error {
      color: red;
      font-weight: 400;
      display: block;
      padding: 6px 0;
      font-size: 14px;
    }
    .form-control.error {
      border-color: red;
      padding: .375rem .75rem;
    }
  </style>
</head>
<body>
  <div class="container mt-5">

    <!-- Contact form -->
    <form action="send-mail.php" name="contactForm" method="post" enctype="multipart/form-data">
      <div class="form-group">
        <label>Name</label>
        <input type="text" class="form-control" name="name" id="name">
      </div>
      <div class="form-group">
        <label>Email</label>
        <input type="email" class="form-control" name="email" id="email">
      </div>
      <div class="form-group">
        <label>Phone</label>
        <input type="text" class="form-control" name="phone" id="phone">
      </div>
      <div class="form-group">
        <label>Subject</label>
        <input type="text" class="form-control" name="subject" id="subject">
      </div>
      <div class="form-group">
        <label>Message</label>
        <textarea class="form-control" name="message" id="message" rows="4"></textarea>
      </div>
      <input type="submit" name="send" value="Send" class="btn btn-dark btn-block">
    </form>
  </div>
</body>
</html>

Step 2 – Create Script To Send Email in PHP

Create one file name send-mail.php and add the following code into it:

    <?php

      if(!empty($_POST["send"])) {
        $name = $_POST["name"];
        $email = $_POST["email"];
        $phone = $_POST["phone"];
        $subject = $_POST["subject"];
        $message = $_POST["message"];
        // Recipient email
        $toMail = "[email protected]";

        // Build email header
        $header = "From: " . $name . "<". $email .">\r\n";
        // Send email
        if(mail($toMail, $subject, $message, $header)) {
            echo "Mail send";
        } else {
            echo "Mail not send";
        }
      }
    ?>

The above-given code will use to send mail when the user submits a contact form in PHP.

Conclusion

In this tutorial, you have learned how to create a contact form send email with validation in PHP.

Recommended PHP Tutorials

If you have any questions or thoughts to share, use the comment form below to reach us.

AuthorDevendra Dode

Greetings, I'm Devendra Dode, a full-stack developer, entrepreneur, and the proud owner of Tutsmake.com. My passion lies in crafting informative tutorials and offering valuable tips to assist fellow developers on their coding journey. Within my content, I cover a spectrum of technologies, including PHP, Python, JavaScript, jQuery, Laravel, Livewire, CodeIgniter, Node.js, Express.js, Vue.js, Angular.js, React.js, MySQL, MongoDB, REST APIs, Windows, XAMPP, Linux, Ubuntu, Amazon AWS, Composer, SEO, WordPress, SSL, and Bootstrap. Whether you're starting out or looking for advanced examples, I provide step-by-step guides and practical demonstrations to make your learning experience seamless. Let's explore the diverse realms of coding together.

Leave a Reply

Your email address will not be published. Required fields are marked *