go top

MEGA Sale

  • Colection of 65 PHP scripts for $6 each

Make contact form and send email in PHP

Limited offer!

Get a huge collection of PHP scripts in a special bundle!

Mega Sale Price
Having a contact form on your web site is vital when you need to know what your site visitors think about your web site. We will first create a simple contact form with 3 fields - Email address, Name, Comments. I will use a table to align the 3 fields and the Send button. Create a new file and paste the code below in it. Save it as test.php and upload it to your web server. Now, you have a web page (http://www.yourdomain.com/test.php) with a simple contact form on it.

<form action="test.php" method="post"> 
<table width="400" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="29%" class="bodytext">Your name:</td>
<td width="71%"><input name="name" type="text" id="name" size="32"></td>
</tr>
<tr>
<td class="bodytext">Email address:</td>
<td><input name="email" type="text" id="email" size="32"></td>
</tr>
<tr>
<td class="bodytext">Comment:</td>
<td><textarea name="comment" cols="45" rows="6" id="comment" class="bodytext"></textarea></td>
</tr>
<tr>
<td class="bodytext"> </td>
<td align="left" valign="top"><input type="submit" name="Submit" value="Send"></td>
</tr>
</table>
</form>


Then we will need the actual PHP code which will send the email when the above form is submitted. We will need to define the email that the message should be sent to ($ToEmail) and also the subject for the message that will be sent ($EmailSubject). Change youremail@site.com to your email address where the message should be sent and also add an appropriate subject for you message. The $mailheader variable is used to define the email message header. We set the From, Reply-To and Content-type fields for the message. There are some more fields that can be used but for this example we will only use these 3. Depending on your server configuration you may need to have the From and Reply-to fields be a valid email address from your server.If you have a domain name mysite.com, then you should use a valid email address such as contact@mysite.com. In this example I am sending the email using the actual email address that is submitted via the form on site. Next all the data submitted via the web form is taken from the $_POST variable and saved in the $MESSAGE_BODY variable. Using the nl2br function you will make all the new lines in your comments box appear as new lines in your email message too. Having all the needed data for our email message we will use the mail() function which will send that email for us.

<?php 
$ToEmail = 'youremail@site.com';
$EmailSubject = 'Site contact form';
$mailheader = "From: ".$_POST["email"]."\r\n";
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n";
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";
$MESSAGE_BODY = "Name: ".$_POST["name"]."<br />";
$MESSAGE_BODY .= "Email: ".$_POST["email"]."<br />";
$MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"])."<br />";
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure");
?>


All we have to do now is to combine the web form and email sending code into a single page. We will use an IF statement to check if the form has been submitted and if so it will send that email and will show a "Your message was sent" message on the screen instead of the web form.

<?php 
if ($_POST["email"]<>'') {
$ToEmail = 'youremail@site.com';
$EmailSubject = 'Site contact form';
$mailheader = "From: ".$_POST["email"]."\r\n";
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n";
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";
$MESSAGE_BODY = "Name: ".$_POST["name"]."<br />";
$MESSAGE_BODY .= "Email: ".$_POST["email"]."<br />";
$MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"])."<br />";
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure");
?>
Your message was sent
<?php
} else {
?>
<form action="test.php" method="post">
<table width="400" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="29%" class="bodytext">Your name:</td>
<td width="71%"><input name="name" type="text" id="name" size="32"></td>
</tr>
<tr>
<td class="bodytext">Email address:</td>
<td><input name="email" type="text" id="email" size="32"></td>
</tr>
<tr>
<td class="bodytext">Comment:</td>
<td><textarea name="comment" cols="45" rows="6" id="comment" class="bodytext"></textarea></td>
</tr>
<tr>
<td class="bodytext"> </td>
<td align="left" valign="top"><input type="submit" name="Submit" value="Send"></td>
</tr>
</table>
</form>
<?php
};
?>


You can also try out our FREE Sliding Contact Form.

Special Offer!

Get all 65 PHP scripts in a bundle for $6 each only!

Mega Sale Offer

403 Comments to "Make contact form and send email in PHP"

  • Jane Dobin

    Jane Dobin

    March 2, 2019 at 06:57 am

    Hi there.

    I

  • Leah Cech

    Leah Cech

    February 22, 2019 at 23:59 pm

    Hi

    Wanted to let you know that I think I can help phpjabbers.com be a greater asset to your company, by increasing traffic from relevant keywords (as well as converting them into clients).
    .
    My marketing specialists have worked with websites increase traffic by 30%-280%. Would it be OK for them to give you a quick call to discuss what we do?

    To get started, all I

  • Leah Cha

    Leah Cha

    February 22, 2019 at 17:09 pm

    Hi there,

    Thought I

  • Mckenzie Bly

    Mckenzie Bly

    February 20, 2019 at 20:41 pm

    Hi there,

    How are you?

    It

  • Daisy Cina

    Daisy Cina

    February 20, 2019 at 15:44 pm

    Hi there,

    Wondering if you

  • Emmy balai

    Emmy balai

    February 19, 2019 at 01:39 am

    Hi,

    Hoping all is well!

    Was interested to know if have a brief moment to discuss some tactics that we can implement to help develop extra traffic/leads for phpjabbers.com?

    All I'd need to get underway is if it's alright for my consultants to briefly give you a buzz at your phone as well as what the best time would be.

    Emmy

  • Emily Hija

    Emily Hija

    February 8, 2019 at 23:44 pm

    Hi,

    Just wanted to stop by and let you know where there

  • Emily Haab

    Emily Haab

    February 8, 2019 at 18:59 pm

    Hi there.

    I

  • Zoe Aaby

    Zoe Aaby

    February 7, 2019 at 15:08 pm

    Hi there,

    Just a question: Have you considered that phpjabbers.com could be losing key sales/traffic you may have overlooked?

    I work with some exceptionally bright consultants. Would you be open to having them show you how that could be happening?

    To get started, I

  • Leah Croan

    Leah Croan

    February 6, 2019 at 22:24 pm

    Hey,

    Wanted to share a quick thought: There

Add your comment

Captcha
    • PHP Scripts

      Check our extensive collection of top-notch PHP Scripts that will enhance your website!

      Commercial PHP scripts
    • Free Scripts

      Add great new functionalities to your website with our Free Scripts collection.

      Free scripts