title: Sending HTML email from PHP
body: <p>I am trying to send a simple HTML e-mail from PHP.  The code below simply results in a blank e-mail in GMail.  It also has an empty attachment called 'noname', which is not at all what I want; though that might just be a symptom of it not working.</p>
  
  <p>The code I am using is:</p>
  
  <pre><code>&lt;?php
  //define the receiver of the email
  $to = 'morrillkevin@gmail.com';
  //define the subject of the email
  $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; 
  MIME-Version: 1.0
  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; 
  MIME-Version: 1.0
  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";
  </code></pre>