Jump to content

Email with Attatchment, almost complete, one thing missing!


cromedome

Recommended Posts

Ok, Im nearly there, I just have one problem, The file attatchment path isnt uploaded directly from the page before, it is passed over a page using a hidden input value which is then set at $fileatt = $_POST['fileatt']; , how do I set the file att when the script is two pages after the upload box, the script is as follows.

 

<?php 

   $company = $_POST['company']; 
   $name = $_POST['name']; 
   $number = $_POST['number']; 
   $email = $_POST['email']; 
    
   $invoice = $_POST['invoice']; 
   $delivery = $_POST['delivery']; 
   $comments = $_POST['comments']; 
   $order1qty = $_POST['order1qty']; 
    $order2qty = $_POST['order2qty']; 
    $order3qty = $_POST['order3qty']; 
    $order4qty = $_POST['order4qty']; 
    $order5qty = $_POST['order5qty']; 
    $order6qty = $_POST['order6qty']; 
              
    $order1 = $_POST['order1']; 
    $order2 = $_POST['order2']; 
    $order3 = $_POST['order3']; 
    $order4 = $_POST['order4']; 
    $order5 = $_POST['order5']; 
    $order6 = $_POST['order6']; 
     
    $A1 = $_POST['A1']; 
    $B1 = $_POST['B1']; 
    $C1 = $_POST['C1']; 
    $D1 = $_POST['D1']; 
    $E1 = $_POST['E1']; 
    $F1 = $_POST['F1']; 
     
    $fileatt = $_POST['fileatt'];  
     


// Read POST request params into global vars 
$to      = "[email protected]"; 
$from    = "".$email.""; 
$subject = "Redlands Website Order"; 
$message = " 
        Company: ".$_POST['company']."\n 
        Contact Name: ".$name."\n 
        Contact Number: ".$number."\n 
        Email Address: ".$email."\n 
        Invoice Address: ".$invoice."\n 
        Delivery Address: ".$delivery."\n 
        ---------------------------------------- 
        Order: 
        ---------------------------------------- 
        ".$order1."  ".$order1qty."\n 
        ".$order2."  ".$order2qty."\n 
        ".$order3."  ".$order3qty."\n 
        ".$order4."  ".$order4qty."\n 
        ".$order5."  ".$order5qty."\n 
        ".$order6."  ".$order6qty." 
        ---------------------------------------- 
        Comments:".$comments.""; 

// 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)) { 
  // 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"; 
   
  // 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"; 
} 

// Send the message 
$ok = @mail($to, $subject, $message, $headers); 
if ($ok) { 
echo "<script>alert('We have received your order, to complete the process please proceed to pay for your order.');</script>"; 
} else { 
  echo "<script>alert('Sorry there seems to be a problem with our site, Please try again later');window.history.back();</script>"; 
} 
?>

 

 

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.