title: Email sent in PHP with no body and no attachment
body: <p>I want to send a Word file as attachment using PHP and the email is being sent, but with no body and a noname attachment is sent.</p>
  
  <p>Here is the code:</p>
  
  <pre><code>$website=getwebsite($id);
    //define the receiver of the email
  $to = $email;
  //define the subject of the email
  $subject = "order- ".getorderid($id);
  //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: order@$website\r\nReply-To: order@$website";
  //add boundary string and mime type specification
  $headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";
  //read the atachment file contents into a string,
  //encode it with MIME base64,
  //and split it into smaller chunks
  $attachment = chunk_split(base64_encode(file_get_contents($file)));
  //define the body of the message.
  //echo $file;
  ob_start(); //Turn on output buffering
  ?&gt;
  
  
  --PHP-mixed-&lt;?php echo $random_hash; ?&gt; 
  Content-Type: multipart/alternative; boundary="PHP-alt-&lt;?php echo $random_hash; ?&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;p&gt;Dear Customer,&lt;/p&gt;
  
  &lt;p&gt;Please find attached your requested paper.&lt;/p&gt;
  &lt;p&gt;
  
  Thanks &amp; Regards&lt;/p&gt;
  
  &lt;?php echo $website?&gt;  Papers Team
  
   &lt;/p&gt;
  
  --PHP-alt-&lt;?php echo $random_hash; ?&gt;--
  
  
  
  --PHP-mixed-&lt;?php echo $random_hash; ?&gt; 
  Content-Type: application/vnd.ms-word; name="plagerism.doc"; 
  Content-Transfer-Encoding: base64 
  Content-Disposition: attachment 
  
  &lt;?php echo $attachment; ?&gt;
  --PHP-mixed-&lt;?php echo $random_hash; ?&gt;--
  
  &lt;?php
  //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>
  
  <p>Can anyone explain what I am doing wrong?</p>