I am trying to style the outgoing email to table format but having lots of problems. I have looked through stack overflow, css trick and lots of others but still cannot get any of them to style the email. The form works and sends ok but cannot get i to style. the working form is this.
<?php
if(isset($_POST['email'])) {
// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "[email protected]";
$email_subject = "Website Form Enquires";
function died($error) {
// your error code can go here
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
echo "These errors appear below.<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['postcode']) ||
!isset($_POST['service']) ||
!isset($_POST['property_type']) ||
!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']; // required
$postcode = $_POST['postcode']; // required
$service = $_POST['service']; // required
$property_type = $_POST['property_type']; // 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(strlen($telephone) < 6) {
$error_message .= 'Please enter a valid telephone number.<br />';
}
if(strlen($postcode) < 4) {
$error_message .= 'Please enter your post code.<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 = "Form details below.\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 .= "Postcode: ".clean_string($postcode)."\n";
$email_message .= "service: ".clean_string($service)."\n";
$email_message .= "Property Type: ".clean_string($property_type)."\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);
?>
<!-- include your own success html here -->
Thank you for contacting us
<?php
}
?>
I have tried this to style it…
$email_message = "<table style='width:100%' cellpadding='5'>";
$email_message .= "<tr>";
$email_message .= "<td>First Name</td>";
$email_message .= "<td>$first_name</td>";
$email_message .= "</tr>";
$email_message .= "<tr>";
$email_message .= "<td>Last Name</td>";
$email_message .= "<td>$last_name</td>";
$email_message .= "</tr>";
$email_message .= "<tr>";
$email_message .= "<td>Email</td>";
$email_message .= "<td>$email_from</td>";
$email_message .= "</tr>";
$email_message .= "<tr>";
$email_message .= "<td>Telephone</td>";
$email_message .= "<td>$telephone</td>";
$email_message .= "</tr>";
$email_message .= "<tr>";
$email_message .= "<td>Postcode</td>";
$email_message .= "<td>$postcode</td>";
$mailBody .= "</tr>";
$mailBody .= "<tr>";
$mailBody .= "<td>Service Required</td>";
$mailBody .= "<td>$service</td>";
$mailBody .= "</tr>";
$mailBody .= "<tr>";
$mailBody .= "<td>Property Type</td>";
$mailBody .= "<td>$property_type</td>";
$mailBody .= "</tr>";
$mailBody .= "<tr>";
$mailBody .= "<td>Comments</td>";
$mailBody .= "<td>$comments</td>";
$mailBody .= "</tr>";
$mailBody .= "</table>";
and the headers too
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
when i get the email all i see is all the code