simple way to Create Contact Form with PHPMailer to send mails - Welcome To PgeJoint

Welcome To PgeJoint

Get Everything Here

Monday 31 July 2017

simple way to Create Contact Form with PHPMailer to send mails

send-email-with-phpmailer


Introduction

Every website have their own contact page to get feedback and messages from visitor, By the way it will help site owners to improve their website performance And Have idea about user experience. Here I am going to develop a simple contact form using HTML and send mails to administrative contacts with help of PHPMailer (A PHP Class).

First we need to create a contact form with help of HTML forms and design it with some CSS work based on your needs.You might save this file as contact.php


<?php 
if(isset($_GET['result']) && $_GET['result'] == 'success') {
      echo '<div class="success_msg" > Thank you for contacting us. We will get back to you soon. </div> ';
} ?>
<style>
     .success_msg {
          background-color: #fed;
          color: green;
          border: 1px solid green; 
     }
</style>
<form name="kv-contact-form" method="post" action="kv-contact-process.php">
<table width="450px">
</tr>
<tr>
<td valign="top">
<label for="first_name">First Name *</label>
</td>
<td valign="top">
<input type="text" name="first_name" maxlength="50" size="30">
</td>
</tr>

<tr>
<td valign="top"">
<label for="last_name">Last Name *</label>
</td>
<td valign="top">
<input type="text" name="last_name" maxlength="50" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="email">Email Address *</label>
</td>
<td valign="top">
<input type="text" name="email" maxlength="80" size="30">
</td>

</tr>
<tr>
<td valign="top">
<label for="telephone">Telephone Number</label>
</td>
<td valign="top">
<input type="text" name="telephone" maxlength="30" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="subject">Subject</label>
</td>
<td valign="top">
<input type="text" name="subject" maxlength="30" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="comments">Comments *</label>
</td>
<td valign="top">
<textarea name="comments" maxlength="1000" cols="25" rows="6"></textarea>
</td>

</tr>
<tr>
<td colspan="2" style="text-align:center">
<!-- We are grateful to you for keeping this link in place. thank you. -->
<input type="submit" value="Submit"> ( <a href="http://kvcodes.com/2014/01/how-to-create-contact-form-with-phpmailer-to-send-mails/">Get Help from Kvcodes tut.</a> )
</td>
</tr>
</table>
</form>


Than style it with the help of CSS(Cascading Style Sheet).When User click on Submit button, it will send the data’s to `kv-contact-process.php`.

PHP

Here we are going to handle the user entered data’s and send it to administrative email address at the same time we send a acknowledge to the respective user.



<?php
require_once("PHPMailerAutoload.php"); // this will include smtp and pop files.

if(isset($_POST['email'])) {

   $email_to = "info@yourdomain.com";

   function died($error) {// your error code can go here
        echo "We're sorry, but there's errors found with the form you submitted.<br /><br />";
        echo $error."<br /><br />";
        echo "Please go back and fix these errors.<br /><br />";
        die();
   }

   // validation expected data exists
   if(!isset($_POST['first_name']) ||!isset($_POST['last_name']) ||!isset($_POST['email']) ||!isset($_POST['telephone']) ||!isset($_POST['subject']) || !isset($_POST['comments'])) {
       died('We are sorry, but there appears to be a problem with the form you submitted.'); 
   }

   $first_name = $_POST['first_name']; // required
   $last_name = $_POST['last_name']; // required
   $email_from = $_POST['email']; // required
   $telephone = $_POST['telephone']; // not required
   $subject = $_POST['subject']; // required
   $comments = $_POST['comments']; // required

   $error_message = "";
   $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
   if(!preg_match($email_exp,$email_from)) {
       $error_message .= 'The Email Address you entered does not appear to be valid.<br />';
   }
   $string_exp = "/^[A-Za-z .'-]+$/";
   if(!preg_match($string_exp,$first_name)) {
      $error_message .= 'The First Name you entered does not appear to be valid.<br />';
   }
   if(!preg_match($string_exp,$last_name)) {
       $error_message .= 'The Last Name you entered does not appear to be valid.<br />';
   }
   if(!preg_match($string_exp,$subject)) {
      $error_message .= 'The Last Name you entered does not appear to be valid.<br />';
   }
   if(strlen($comments) < 2) {
       $error_message .= 'The Comments you entered do not appear to be valid.<br />';
   }
   if(strlen($error_message) > 0) {
       died($error_message);
   }
   $email_message = "\n\n";

   $email_message .= "First Name: ".clean_string($first_name)."\n";
   $email_message .= "Last Name: ".clean_string($last_name)."\n";
   $email_message .= "Email: ".clean_string($email_from)."\n";
   $email_message .= "Telephone: ".clean_string($telephone)."\n";
   $email_message .= "Subject: ".clean_string($subject)."\n";
   $email_message .= "Comments: ".clean_string($comments)."\n";

   $mail = new PHPMailer();
   $mail->isSendmail();
   $mail->setFrom($email_from, $first_name.$last_name);
   $mail->addAddress($email_to, 'Kv Varadha);
   $mail->Subject = $subject;
   $mail->msgHTML(file_get_contents('path/to/file/attachment-file.extension'), dirname(__FILE__));

   if (!$mail->send()) { //send the message, check for errors
      echo "Mailer Error: " . died($error);
   } else {
       header('Location: contact.php?result=success'); 
   }
?>

<!-- place your own success html below -->

<?php
}
die();
?>
 
 
  


No comments:

Post a Comment