sending email data with multiple attachments in php
<p>i have small problem when sending email using php. when i am submitting form i am getting email with data and attachment but attachment are coming as jung data (in string form). here is my code</p>

<p>any one can help?</p>

<pre><code>    &lt;?php
session_start(); // start up your PHP session!
// Obtain file upload vars
$file_name = $_FILES['attach']['name'];
$temp_name = $_FILES['attach']['tmp_name'];
$file_type = $_FILES['attach']['type'];
// Obtain file upload vars
$file_name2 = $_FILES['attach2']['name'];
$temp_name2 = $_FILES['attach2']['tmp_name'];
$file_type2 = $_FILES['attach2']['type'];
// Obtain file upload vars
$file_name3 = $_FILES['attach3']['name'];
$temp_name3 = $_FILES['attach3']['tmp_name'];
$file_type3 = $_FILES['attach3']['type'];

// message
$subject = "New Message";
/* Send Values to email in HTML format*/

$message  = '&lt;html&gt;&lt;body&gt;';
$message .= '&lt;h2&gt;Please see the below details&lt;/h2&gt;';
$message .= '&lt;table rules="all" style="border-color: #666;" width="50%" cellpadding="10"&gt;';
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Title:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['title']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;First Name:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['fname']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Middle Name:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['mname']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Last Name:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['lname']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Street Name:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['saddress']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Apartment / Suite / Other:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['oaddress']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;City:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['city']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;State:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['state']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Zip Code:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['zip']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Cell Phone Number:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['cellphone']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Home Phone:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['homephone']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Office Phone:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['officephone']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Prefered Call Time:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['calltime']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Personal E-mail ID:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['pemail']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Office E-mail ID:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['oemail']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Account Type:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['acctype']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Comments:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['comments']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Primary ID Proof:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['primaryid']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Secondary ID Proof:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['secondaryid']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Other ID Proof:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['alternateid']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Funding Option:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['fundingoption']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Bank Account Number:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['pbaccnumber']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Bank Account Type:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['eacctype']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Funding Bank Account Number:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['fbankaccnumber']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Funding Bank ABN Number:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['fbankabanumber']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Funding Bank Account Type:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['fbcctype']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Funding Amount:&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['famt']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;I agree to share the information to pull Credit reports, CHEX system reports etc. for verification&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['iagree']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;I Agree Online Banking &amp; Paperless Statements&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['agronlinebank']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;I Agree Fee Schedule&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['agrFee']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;I Agree Online Banking Fraud &lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['agronlinebankfraud']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;I Agree Overdraft Notice&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['agroverdraft']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;I Agree EFT Agreement&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['AgreeEFT']) . "&lt;/td&gt;&lt;/tr&gt;";

$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;I certify that I am an American citizen&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['citizenConfirm']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Truth in Savings&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['TruthSavings']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;I Agree you acknowledge you have read and accept the terms and conditions as described above &lt;/strong&gt; &lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['DConfirm']) . "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;tr style='background: #eee;'&gt;&lt;td&gt;&lt;strong&gt;Would you like to apply for another Deposit account?&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;" . strip_tags($_POST['appanotherdepacc']). "&lt;/td&gt;&lt;/tr&gt;";
$message .= "&lt;/table&gt;";
$message .= "&lt;/body&gt;&lt;/html&gt;";

/* recipients */
$to = "xyz@abc.com";


// --------------------------------------

$headers = "From:info@abc.com";      
$headers .= "\r\nReply-To:info@abc.com"; 
$headers .= "\r\nContent-Type: text/html; charset=UTF-8";
$headers .= "\r\nMIME-Version: 1.0";

// things you need
$file = $temp_name;
$content = chunk_split(base64_encode(file_get_contents($file)));
$uid = md5(uniqid(time()));


// declaring we have multiple kinds of email
$headers .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
$headers .= "This is a multi-part message in MIME format.\r\n";

// html text part
$headers .= "–".$uid."\r\n";
$headers .= "Content-type:text/html; charset=iso-8859-1\r\n";
$headers .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$headers .= $message."\r\n\r\n";

//file attachment
$headers .= "–" .$uid. "\r\n";
$headers .= "Content-Type: ".$file_type."; name=\"".$file_name."\"\r\n";
$headers .= "Content-Transfer-Encoding: base64\r\n";
$headers .= "Content-Disposition: attachment; filename=\"".$file_name."\"\r\n\r\n";
$headers .= $content."\r\n\r\n";

//file attachment 2
$headers .= "–" .$uid. "\r\n";
$headers .= "Content-Type: ".$file_type2."; name=\"".$file_name2."\"\r\n";
$headers .= "Content-Transfer-Encoding: base64\r\n";
$headers .= "Content-Disposition: attachment; filename=\"".$file_name2."\"\r\n\r\n";
$headers .= $content."\r\n\r\n";

//file attachment 3
$headers .= "–" .$uid. "\r\n";
$headers .= "Content-Type: ".$file_type3."; name=\"".$file_name3."\"\r\n";
$headers .= "Content-Transfer-Encoding: base64\r\n";
$headers .= "Content-Disposition: attachment; filename=\"".$file_name3."\"\r\n\r\n";
$headers .= $content."\r\n\r\n";

// Send the message
$ok = @mail($to, $subject, "", $headers);

if ($ok) {
  echo "&lt;p&gt;Mail sent.&lt;/p&gt;";
} else {
  echo "&lt;p&gt;Mail could not be sent. Sorry!&lt;/p&gt;";
}
?&gt;
</code></pre>
