problem in form submission using smtp authentication

your site is really very helpful.I am facing a problem.I have been using contact form on my website.But due to changes in host server,i have been asked to validate the php code using smtp validation code.
I am writing below the form code in php which has been working fine for a long time:

<?php if(isset($_POST['email'])) { // EDIT THE 2 LINES BELOW AS REQUIRED $email_to = "[email protected]"; $email_subject = "Enquiry form NEW DELHI TUTORS.COM"; function died($error) { // your error code can go here echo "We are very sorry, but there were error(s) found with the form your submitted. "; echo "These errors appear below.

"; echo $error."

"; echo "Please go back and fix these errors.

"; die(); } // validation expected data exists if(!isset($_POST['first_name']) || !isset($_POST['last_name']) || !isset($_POST['email']) || !isset($_POST['telephone']) || !isset($_POST['state']) || !isset($_POST['comments'])) { died('We are sorry, but there appears to be a problem with the form your submitted.'); } $first_name = $_POST['first_name']; // required $last_name = $_POST['last_name']; // required $email_from = $_POST['email']; // required $telephone = $_POST['telephone']; // not required $state = $_POST['state']; // required $comments = $_POST['comments']; // required $error_message = ""; $email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$"; if(!eregi($email_exp,$email_from)) { $error_message .= 'The Email Address you entered does not appear to be valid.
'; } $string_exp = "^[a-z .'-]+$"; if(!eregi($string_exp,$first_name)) { $error_message .= 'The First Name you entered does not appear to be valid.
'; } if(!eregi($string_exp,$last_name)) { $error_message .= 'The Last Name you entered does not appear to be valid.
'; } if(strlen($comments) < 2) { $error_message .= 'The Comments you entered do not appear to be valid.
'; } $string_exp = "^[0-9 .-]+$"; if(!eregi($string_exp,$telephone)) { $error_message .= 'The Telphone Number you entered does not appear to be valid.
'; } if(strlen($error_message) > 0) { died($error_message); } $email_message = " Enquiry Form(New Delhi\n\n"; function clean_string($string) { $bad = array("content-type","bcc:","to:","cc:","href"); return str_replace($bad,"",$string); } $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 .= "State: ".clean_string($state)."\n"; $email_message .= "Comments: ".clean_string($comments)."\n"; // create email headers $headers = 'From: '.$email_from."\r\n". 'Reply-To: '.$email_from."\r\n" . 'X-Mailer: PHP/' . phpversion(); @mail($email_to, $email_subject, $email_message, $headers); ?> NEW DELHI TUTORS.COM

Thank you for contacting us. We will be in touch with you very soon.


<? } ?>

But i have sent a php script by host provider to make changes in the above script so as to work the form properly.code is

<?php require_once "Mail.php"; $from = "Geek4Support Sender "; $to = "Geek4Support Recipient "; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; $host = ""; $username = "[email protected]"; $password = "1234567890"; $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo("

" . $mail->getMessage() . "

"); } else { echo("

Message successfully sent!

"); } ?>

Can you pls integrate the both in one php file so that i can work properly
I would be highly oblighed.

Well, you could either create a class that validates the email addresses and passwords using something like this example given at Google:
(If you view the code near the bottom, you can copy/paste the class code…)

Since you showed “PEAR” call to check errors from an external file (“mail.php”), it is hard to know exactly
what is in the external file. So, here is another way to validate SMTP passwords:

Also, you show a lot of validation for INPUT entries. Did you mean you want us to help you move the
entry validation into the newer mail routines? I see a lot of members read your post, but nobody answered.
I will guess it is due to not being sure what you need help with. But, let us know and we will help if the
above links don’t help you… Good luck…

Sponsor our Newsletter | Privacy Policy | Terms of Service