How to send nice html email using php

thorjack1990

BANNED
Joined
Feb 15, 2013
Messages
71
Reaction score
9
I was trying to send email in a clean way using table but when i click the submit button.,it sends me just the codes.
how do i make it?

Heres the code:

Code:
<?php
/*
This first bit sets the email address that you want the form to be submitted to.
You will need to change this value to a valid email address that you can access.
*/
$webmaster_email = "[email protected]";




/*
This bit sets the URLs of the supporting pages.
If you change the names of any of the pages, you will need to change the values here.
*/
$contacts_page = "contacts.html";
$error_page = "error_message.html";
$thankyou_page = "thank_you.html";




/*
This next bit loads the form field data into variables.
If you add a form field, you will need to add it here.
*/
$firstname = $_REQUEST['firstname'] ;
$lastname = $_REQUEST['lastname'] ;
$email = $_REQUEST['email'] ;
$contact = $_REQUEST['contact'] ;
$company = $_REQUEST['company'] ;
$website = $_REQUEST['website'] ;
$country = $_REQUEST['country'] ;
$city = $_REQUEST['city'] ;
$comments = $_REQUEST['task'] ;
$hear = $_REQUEST['hear'] ;
$code = $_REQUEST['code'] ;


$service = $_REQUEST['service'];
 if(is_array($service))
{
    $message .= "Type of Service needed:" .implode(", ",$service). "\n";
}
/*
The following function checks for email injection.
Specifically, it checks for carriage returns - typically used by spammers to inject a CC list.
*/
function isInjected($str) {
$injections = array('(\n+)',
'(\r+)',
'(\t+)',
'(%0A+)',
'(%0D+)',
'(%08+)',
'(%09+)'
);
$inject = join('|', $injections);
$inject = "/$inject/i";
if(preg_match($inject,$str)) {
return true;
}
else {
return false;
}
}




// If the user tries to access this script directly, redirect them to the feedback form,
if (!isset($_REQUEST['email'])) {
header( "Location: $contacts_page" );
}




// If the form fields are empty, redirect to the error page.
elseif (empty($firstname) ||empty($email) || empty($comments)) {
header( "Location: $error_page" );
}




// If email injection is detected, redirect to the error page.
elseif ( isInjected($email_address) ) {
header( "Location: $error_page" );
}




// If we passed all previous tests, send the email then redirect to the thank you page.
else {


// Email content
$content = '<html><body>';
$content .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
$content .= "<tr style='background: #eee;'><td><strong>Firstname:</strong> </td><td>" . strip_tags($_POST['firstname']) . "</td></tr>";
$content .= "<tr><td><strong>Lastname</strong> </td><td>" . strip_tags($_POST['lastname']) . "</td></tr>";
$content .= "<tr><td><strong>Email:</strong> </td><td>" . strip_tags($_POST['email']) . "</td></tr>";
$content .= "<tr><td><strong>Contact Number:</strong> </td><td>" . strip_tags($_POST['contact']) . "</td></tr>";
$content .= "<tr><td><strong>Company:</strong> </td><td>" . strip_tags($_POST['company']) . "</td></tr>";
$content .= "<tr><td><strong>Website:</strong> </td><td>" . strip_tags($_POST['website']) . "</td></tr>";
$content .= "<tr><td><strong>Country:</strong> </td><td>" . strip_tags($_POST['country']) . "</td></tr>";
$content .= "<tr><td><strong>City:</strong> </td><td>" . strip_tags($_POST['city']) . "</td></tr>";
$content .= "<tr><td><strong>Services:</strong> </td><td>" . strip_tags($_POST['service']) . "</td></tr>";
$content .= "<tr><td><strong>Required Job/Task:</strong> </td><td>" . $task . "</td></tr>";
$content .= "<tr><td><strong>How did you hear about us:</strong> </td><td>" . strip_tags($_POST['hear']) . "</td></tr>";
$content .= "<tr><td><strong>Voucher Code:</strong> </td><td>" . strip_tags($_POST['code']) . "</td></tr>";
$content .= "</table>";
$content .= "</body></html>";




$headers .= 'To: Webmaster <'.$webmaster_email.'>' . "\r\n";
$headers = 'From: '.$firstname.' <'.$email.'>' . "\r\n";
mail($webmaster_email, "Request a Quote", $content, $headers);


header( "Location: $thankyou_page" );
}  
?>
 
change

Code:
$headers .= 'To: Webmaster <'.$webmaster_email.'>' . "\r\n";
$headers = 'From: '.$firstname.' <'.$email.'>' . "\r\n";

to

Code:
$headers .= 'To: Webmaster <'.$webmaster_email.'>' . "\r\n";
$headers .= 'From: '.$firstname.' <'.$email.'>' . "\r\n";
$headers .='MIME-Version: 1.0' . "\r\n";
$headers .='Content-type: text/html; charset=utf-8' . "\r\n";
 
Incase if the spam filter catches your email, adding Organisation and Return Path to the headers will help it.

Cant post the codes because the post filter here doesnt allow me to post the code.
 
change

Code:
$headers .= 'To: Webmaster <'.$webmaster_email.'>' . "\r\n";
$headers = 'From: '.$firstname.' <'.$email.'>' . "\r\n";

to

Code:
$headers .= 'To: Webmaster <'.$webmaster_email.'>' . "\r\n";
$headers .= 'From: '.$firstname.' <'.$email.'>' . "\r\n";
$headers .='MIME-Version: 1.0' . "\r\n";
$headers .='Content-type: text/html; charset=utf-8' . "\r\n";

thanks it works.,:) thumbs up
 
Incase if the spam filter catches your email, adding Organisation and Return Path to the headers will help it.

Cant post the codes because the post filter here doesnt allow me to post the code.

can u pm me the codes?
 
i have a lil problem with the textarea as when i filled it up it doesnt show anything.,its blanked
 
this one

<label for="name">Required Job/Task details<sup style="color:red;">*</sup></label><br/>
<textarea name="task" id="task" rows="5"></textarea><br />

i guess i called it wrong.,can u help me with it?
 
this one

<label for="name">Required Job/Task details<sup style="color:red;">*</sup></label><br/>
<textarea name="task" id="task" rows="5"></textarea><br />

i guess i called it wrong.,can u help me with it?

what you want it to do exactly? Show the text you entered after you submit the form? if so.. change it to this:

Code:
<textarea name="task" id="task" rows="5"><?php echo $_POST['task']; ?></textarea><br />
 
when i click the submit button.,i want to show it on the table.,its my only problem.,it doesnt show up


Firstname:asd
Lastnameasd
Email:[email protected]
Contact Number:23123
Company:asdcasd
Website:asdasd
Country:Armenia
City:asdasd
Services:Other
Required Job/Task:
How did you hear about us:123
Voucher Code:123123123
 
when i click the submit button.,i want to show it on the table.,its my only problem.,it doesnt show up


Firstname:asd
Lastnameasd
Email:[email protected]
Contact Number:23123
Company:asdcasd
Website:asdasd
Country:Armenia
City:asdasd
Services:Other
Required Job/Task:
How did you hear about us:123
Voucher Code:123123123

ah i see now what you mean.. well probably you need to change this:

Code:
$content .= "<tr><td><strong>Required Job/Task:</strong> </td><td>" . $task . "</td></tr>";

to this
Code:
$content .= "<tr><td><strong>Required Job/Task:</strong> </td><td>" . $_POST['task'] . "</td></tr>";
 
ah i see now what you mean.. well probably you need to change this:

Code:
$content .= "<tr><td><strong>Required Job/Task:</strong> </td><td>" . $task . "</td></tr>";

to this
Code:
$content .= "<tr><td><strong>Required Job/Task:</strong> </td><td>" . $_POST['task'] . "</td></tr>";

thank you very much its now solved
 
Back
Top