kts Posted January 8, 2008 Share Posted January 8, 2008 I assumed I could just multiply all the variables and duplicate the coding, but it still only uploads first file. Anyone have any experience with this? I'm just really not too sure how to do this. <?php $fileatt = $_FILES['fileatt']['tmp_name']; $fileatt_type = $_FILES['fileatt']['type']; $fileatt_name = $_FILES['fileatt']['name']; $fileatt2 = $_FILES['fileatt2']['tmp_name']; $fileatt2_type = $_FILES['fileatt2']['type']; $fileatt2_name = $_FILES['fileatt2']['name']; $fileatt3 = $_FILES['fileatt3']['tmp_name']; $fileatt3_type = $_FILES['fileatt3']['type']; $fileatt3_name = $_FILES['fileatt3']['name']; $headers = "From: $from"; $message = " Name: " . $_POST['name']; $message .= "\n\n Job ID: "; $message .= $_POST['email']; $message .= "\n\n Inquiry:"; $message .= $_POST['inquiry']; 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); $file2 = fopen($fileatt2,'rb'); $data2 = fread($file2,filesize($fileatt2)); fclose($file2); $file3 = fopen($fileatt3,'rb'); $data3 = fread($file3,filesize($fileatt3)); fclose($file3); // Generate a boundary string $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; $mime_boundary2 = "==Multipart_Boundary_x{$semi_rand}x"; $mime_boundary3 = "==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)); $data2 = chunk_split(base64_encode($data2)); $data3 = chunk_split(base64_encode($data3)); // 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"; $message .= "--{$mime_boundary2}\n" . "Content-Type: {$fileatt2_type};\n" . " name=\"{$fileatt2_name}\"\n" . "Content-Disposition: attachment;\n" . " filename=\"{$fileatt2_name}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data2 . "\n\n" . "--{$mime_boundary2}--\n"; $message .= "--{$mime_boundary3}\n" . "Content-Type: {$fileatt3_type};\n" . " name=\"{$fileatt3_name}\"\n" . "Content-Disposition: attachment;\n" . " filename=\"{$fileatt3_name}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data3 . "\n\n" . "--{$mime_boundary3}--\n"; } // Send the message $ok = @mail($to, $subject, $message, $headers); ?> Quote Link to comment https://forums.phpfreaks.com/topic/85034-solved-sending-multiple-attachments-in-an-email/ Share on other sites More sharing options...
kts Posted January 8, 2008 Author Share Posted January 8, 2008 bump? anyone? Quote Link to comment https://forums.phpfreaks.com/topic/85034-solved-sending-multiple-attachments-in-an-email/#findComment-433662 Share on other sites More sharing options...
kts Posted January 8, 2008 Author Share Posted January 8, 2008 Got it, silly me.... must make sure they each get their own multipart and seperate boundaries. Quote Link to comment https://forums.phpfreaks.com/topic/85034-solved-sending-multiple-attachments-in-an-email/#findComment-433670 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.