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); ?> 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? 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. 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
Archived
This topic is now archived and is closed to further replies.