didster Posted December 5, 2008 Share Posted December 5, 2008 Please can anyone help with this, I am pulling my hair out. I can upload and send a text file cant send pdf or jpg files. The files send but do not have any content in them! Please help <?php //error_reporting(E_ALL); //ini_set("display_errors", 1); // ------------- CONFIGURABLE SECTION ------------------------ $to = '' ; $subject = "" ; $formurl = "/enquiryform/pluggauge.htm"; $errorurl = "/enquiryform/error.htm" ; $thankyouurl = "/enquiryform/thankyou.htm" ; // -------------------- END OF CONFIGURABLE SECTION --------------- // Read POST request params into global vars $from = $_POST['from']; // Obtain file upload vars $fileatt = $_FILES['fileatt']['tmp_name']; $fileatt_type = $_FILES['fileatt']['type']; $fileatt_name = $_FILES['fileatt']['name']; $headers = "From: $from"; // 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"; $message .= "\n\n-- Email recieved --\n\n"; // 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"; $http_referrer = getenv( "HTTP_REFERER" ); if (!isset($_POST['from'])) { header( "Location: $formurl" ); exit ; } if (empty($from)) { header( "Location: $errorurl" ); exit ; } $email = strtok( $email, "\r\n" ); ini_set("sendmail_from", $from); mail($to, $subject, $message, $headers); header( "Location: $thankyouurl" ); exit ; ?> Quote Link to comment 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.