Hi all,

I am working on an application in php. Now my client want that when i will send mail from form then in message there should be some html code or template of html. Please tell me how i can send this through mail of PHP.

Let me explain:
Like we send mail in php like this : mail($mailto,$subject,$message,"From:$email1"); Now i want that in $message there should be some html code in which i can use color and some links . That should appear in mail after filling form.

So please help me . How i can do this in PHP.

8 Years
Discussion Span
Last Post by hireaprogrammer

You need to change the headers to define "text/html" instead of the default, which is plain text. (headers are the fourth argument in the mail() function)


You only need the first 2 lines of the headers below, but there's some additional headers in case you wanted to see how to add those as well. Also, make sure to "\r\n" in double quotes, not single quotes, AND they must appear at the end of every line in the headers

// Additional headers
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

mail($to, $subject, $message, $headers);

Very nice, Paradox. Very clean code. I've had some difficulty with this in the past, I am definitely going to reference this page.

Oh, but in reference to another post I answered, I think UTF-8 may work a bit better.


Your absolutely right omniuni, I would use utf-8 instead.

$headers.= 'Content-Type: text/html; charset=UTF-8' .' "\r\n";

Since my site is completely in English, it hasn't made a difference (to me). But in general you never know what countries/languages your visitors will be coming from and this is something you should get right the first time so you never have to worry about it.

Votes + Comments
Helpful, knowledgeable , and up to date! Great that he provides an explanation along with his comment.

Hello, All this code will help you to send mail but in mail if you need same like home page or you want to show image in mail or css or html code with same color then you have to change all the path of image to server page means your images in image floder so your current page will be images/image name Now when you want to show this image into mail then your path will he http://domainname.com/images/image name

Same for CSS and all the path

i hope this will help you ..


This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.