Hello all,
Im using this mail function
It seems to work, however when I go to check the email the file has not attached. The attachment seems to be there but it gives its size as 0kb and doesnt register it with a .filename ending. Could someone show me where im going wrong?Code:<?php // Read POST request params into global vars $to = "chapters@letstrywriting.com"; $from = "Submission@letstrywriting.com"; $name = "Submission"; $subject = $_POST['subject']; $message = ""; $your_name = $_POST['name']; $your_email = $_POST['subject']; $your_phone = $_POST['message']; if (!empty($your_name)) { $message .= 'Your Name: '. $your_name ."\n\n"; } if (!empty($your_name)) { $message .= 'Your Email: '. $your_email ."\n\n"; } if (!empty($your_name)) { $message .= 'Your Phone: '. $your_phone ."\n\n"; } // 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) || is_uploaded_file($fileatt2) || is_uploaded_file($fileatt3)) { // Read the file to be attached ('rb' = read binary) if (is_uploaded_file($fileatt)) { $file = fopen($fileatt,'rb'); $data = fread($file,filesize($fileatt)); fclose($file); // Base64 encode the file data $data = chunk_split(base64_encode($data)); } // 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;\n charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n" . "--{$mime_boundary}\n"; // Add file attachment(s) to the message if ($fileatt_name > "") { $message .= "Content-Type: {$fileatt_type};\n" . " name=\"{$fileatt_name}\"\n" . "Content-Transfer-Encoding: base64\n" . "Content-Disposition: attachment;\n" . " filename=\"{$fileatt_name}\"\n\n" . $data . "\n" . "--{$mime_boundary}\n"; } $message .= "--\n\n"; } // Send the message $ok = @mail($to, $subject, $message, $headers); if ($ok) { echo "<p>Mail sent!</p>"; header("location: subthanks.php"); } else { echo "<p>Mail could not be sent. Sorry!</p>"; header("location: subbad.php"); } ?>
Thanks in advance.


Reply With Quote
Bookmarks