954,576 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

How we can send html page or template in mail in PHP ???

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.
Thanks,
Gagan

gagan22
Junior Poster
131 posts since Feb 2009
Reputation Points: 10
Solved Threads: 0
 

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)

omniuni
Newbie Poster
17 posts since Jul 2009
Reputation Points: 10
Solved Threads: 2
 

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);
paradox814
Posting Whiz
351 posts since Oct 2004
Reputation Points: 13
Solved Threads: 4
 

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.

omniuni
Newbie Poster
17 posts since Jul 2009
Reputation Points: 10
Solved Threads: 2
 

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.

paradox814
Posting Whiz
351 posts since Oct 2004
Reputation Points: 13
Solved Threads: 4
 

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 ..

Regards

hireaprogrammer
Junior Poster in Training
95 posts since Jul 2009
Reputation Points: 9
Solved Threads: 1
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You