In my initial problem posted on SO, whenever anyone accessed the Mail.php on the server, it used to send an empty email to the $to. To avoid this I came up with a solution.require 'PHPMailer/PHPMailerAutoload.php';    $yourName = $_POST['yourName'];    $sender  = $_POST['emailID'];    $subject  = $_POST['subject'];    $message  = $_POST['message'];    $to = 'email@email.com';        if(empty($yourName) || empty($sender) || empty($subject) || empty($message) || empty($message))        {            echo Fields are empty;        }        else        {                $mail = new PHPMailer;                //$mail->SMTPDebug = 2;                                               $mail->isSMTP();                                                      $mail->Host = 'smtp.gmail.com';                  $mail->SMTPAuth = true;                                               $mail->Username = 'gmailUser';                      $mail->Password = 'gmailPassword';                                     $mail->SMTPSecure = 'tls';                                            $mail->Port = 587;                                                    $mail->setFrom($sender,$yourName);                $mail->addAddress($to);                     $mail->addReplyTo($sender);                $mail->isHTML(true);                                                  $mail->Subject = $subject;                $mail->Body    = <b>From: </b>. $sender. <br> . <b>Name: </b>. $yourName. <br>. <b> Message Body </b> .$message;                $mail->AltBody = <b>From: </b>. $sender. <br> . <b>Name: </b>. $yourName. <br>. <b> Message Body </b> .$message;                if(!$mail->send())                 {                    echo 'Message could not be sent.';                    echo 'Mailer Error: ' . $mail->ErrorInfo;                }                 else                 {                    echo Message has been sent....You're being redirected.....;                }        }This fix, basically allows the user to interact with Mail.php, but Mail.php doesn't sends a null email to $toNow hours later, I find out that this is a very bad approach. I would like to know how a professional would solve this problem?Any good approach which I could use to efficiently optimize the code?
Validation before sending mail in PHP
php;validation;email