Sending HTML Email in php?
<pre><code>&lt;?php

$to = 'youraddress@example.com';

$subject = 'Test HTML email';
//create a boundary string. It must be unique
//so we use the MD5 algorithm to generate a random hash
$random_hash = md5(date('r', time()));
//define the headers we want passed. Note that they are separated with \r\n
$headers = "From: webmaster@example.com\r\nReply-To: webmaster@example.com";
//add boundary string and mime type specification
$headers .= "\r\nContent-Type: multipart/alternative; boundary=\"PHP-alt-".$random_hash."\"";
//define the body of the message.
ob_start(); //Turn on output buffering
?&gt;
--PHP-alt-&lt;?php echo $random_hash; ?&gt; 
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hello World!!! 
This is simple text email message. 

--PHP-alt-&lt;?php echo $random_hash; ?&gt; 
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

&lt;h2&gt;Hello World!&lt;/h2&gt;
&lt;p&gt;This is something with &lt;b&gt;HTML&lt;/b&gt; formatting.&lt;/p&gt;

--PHP-alt-&lt;?php echo $random_hash; ?&gt;--
&lt;?
//copy current buffer contents into $message variable and delete current output buffer
$message = ob_get_clean();
//send the email
$mail_sent = @mail( $to, $subject, $message, $headers );
//if the message is sent successfully print "Mail sent". Otherwise print "Mail failed" 
echo $mail_sent ? "Mail sent" : "Mail failed";
?&gt;
</code></pre>

<p>i don't follow it well. expect someone can do me a favor.</p>

<p>1, why should i generate a random hash?</p>

<p>2,why i must add boundary string and mime type specification to header?</p>

<p>3,why use ob_start();?</p>

<p>4,</p>

<pre><code>--PHP-alt-&lt;?php echo $random_hash; ?&gt; 
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
</code></pre>

<p>what are those lines meaning? could i delete them? thank you</p>
