function prepOrderEmail($filePath,$fileName,$from,$message){ $lend = "\r\n"; $break = "\r\n\r\n"; // mime boundary $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; // filePath must include the file name // fixed by mhedley@jackel in accordance with RFC4180 // text/csv appropriate MIME for $fileType // $fileType = "text/csv"; $file = fopen($filePath,'rb'); $data = fread($file,filesize($filePath)); fclose($file); $data = chunk_split(base64_encode($data)); // headers $mail_elements["headers"] .= "From: ".$from.$lend; $mail_elements["headers"] .= "X-Mailer: PHP/".phpversion().$lend; $mail_elements["headers"] .= "MIME-Version: 1.0".$lend; $mail_elements["headers"] .= "Content-Type: multipart/mixed; boundary=".$mime_boundary; // message part $mail_elements["body"] .= "--{$mime_boundary}".$lend; $mail_elements["body"] .= "Content-Type:text/html; charset=\"iso-8859-1\"".$lend; $mail_elements["body"] .= "Content-Transfer-Encoding: 7bit".$break; $mail_elements["body"] .= $message.$break; // attachment part $mail_elements["body"] .= "--{$mime_boundary}".$lend; $mail_elements["body"] .= "Content-Type: ".$fileType."; name=\"".$fileName."\"\n"; $mail_elements["body"] .= "Content-Disposition: attachment; filename=\"{$fileatt_name}\"\n"; $mail_elements["body"] .= "Content-Transfer-Encoding: base64".$break; $mail_elements["body"] .= $data . "\n\n"; $mail_elements["body"] .= "--{$mime_boundary}--".$lend; return $mail_elements; }