cromedome Posted June 20, 2009 Share Posted June 20, 2009 Ok, Im nearly there, I just have one problem, The file attatchment path isnt uploaded directly from the page before, it is passed over a page using a hidden input value which is then set at $fileatt = $_POST['fileatt']; , how do I set the file att when the script is two pages after the upload box, the script is as follows. <?php $company = $_POST['company']; $name = $_POST['name']; $number = $_POST['number']; $email = $_POST['email']; $invoice = $_POST['invoice']; $delivery = $_POST['delivery']; $comments = $_POST['comments']; $order1qty = $_POST['order1qty']; $order2qty = $_POST['order2qty']; $order3qty = $_POST['order3qty']; $order4qty = $_POST['order4qty']; $order5qty = $_POST['order5qty']; $order6qty = $_POST['order6qty']; $order1 = $_POST['order1']; $order2 = $_POST['order2']; $order3 = $_POST['order3']; $order4 = $_POST['order4']; $order5 = $_POST['order5']; $order6 = $_POST['order6']; $A1 = $_POST['A1']; $B1 = $_POST['B1']; $C1 = $_POST['C1']; $D1 = $_POST['D1']; $E1 = $_POST['E1']; $F1 = $_POST['F1']; $fileatt = $_POST['fileatt']; // Read POST request params into global vars $to = "[email protected]"; $from = "".$email.""; $subject = "Redlands Website Order"; $message = " Company: ".$_POST['company']."\n Contact Name: ".$name."\n Contact Number: ".$number."\n Email Address: ".$email."\n Invoice Address: ".$invoice."\n Delivery Address: ".$delivery."\n ---------------------------------------- Order: ---------------------------------------- ".$order1." ".$order1qty."\n ".$order2." ".$order2qty."\n ".$order3." ".$order3qty."\n ".$order4." ".$order4qty."\n ".$order5." ".$order5qty."\n ".$order6." ".$order6qty." ---------------------------------------- Comments:".$comments.""; // Obtain file upload vars $fileatt = $_FILES['fileatt']['tmp_name']; $fileatt_type = $_FILES['fileatt']['type']; $fileatt_name = $_FILES['fileatt']['name']; $headers = "From: $from"; if (is_uploaded_file($fileatt)) { // Read the file to be attached ('rb' = read binary) $file = fopen($fileatt,'rb'); $data = fread($file,filesize($fileatt)); fclose($file); // Generate a boundary string $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; // Add the headers for a file attachment $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; // Add a multipart boundary above the plain message $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; // Base64 encode the file data $data = chunk_split(base64_encode($data)); // Add file attachment to the message $message .= "--{$mime_boundary}\n" . "Content-Type: {$fileatt_type};\n" . " name=\"{$fileatt_name}\"\n" . //"Content-Disposition: attachment;\n" . //" filename=\"{$fileatt_name}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n" . "--{$mime_boundary}--\n"; } // Send the message $ok = @mail($to, $subject, $message, $headers); if ($ok) { echo "<script>alert('We have received your order, to complete the process please proceed to pay for your order.');</script>"; } else { echo "<script>alert('Sorry there seems to be a problem with our site, Please try again later');window.history.back();</script>"; } ?> Link to comment https://forums.phpfreaks.com/topic/163004-email-with-attatchment-almost-complete-one-thing-missing/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.