Jump to content

Send file attachments but they arrive without content!


didster

Recommended Posts

Hi, you may have seen this code before as I thought I was having problems with email. It turned out that it was the hosts fault! This problem is probably the same, I can now send email but any attachments added using the upload feature, send the attachment file but with no content. I have tried it on my own server and several others and is fine. Please help

 

The phpinfo of the new server is...

 

http://www.splinegauges.co.uk/phpinfo.php

 

<?php

 

// ------------- CONFIGURABLE SECTION ------------------------

 

$to = '' ;// $subject - set to the Subject line of the email, eg

//$subject  = "Feedback Form" ;

 

$subject = "Plug Gauge Quote Request Form" ;

 

$formurl = "/enquiryform/pluggauge.htm";

$errorurl = "/enquiryform/error.htm" ;

$thankyouurl = "/enquiryform/thankyou.htm" ;

 

// -------------------- END OF CONFIGURABLE SECTION ---------------

 

$contactname = $_POST['contactname'] ;

$companyname = $_POST['companyname'] ;

$currentaddress = $_POST['currentaddress'] ;

$contactnumber = $_POST['contactnumber'] ;

$rfqreference = $_POST['rfqreference'] ;

$teeth = $_POST['teeth'] ;

$dpmoduletext = $_POST['dpmoduletext'] ;

$dpmoduledrop = $_POST['dpmoduledrop'] ;

$pressureangle = $_POST['pressureangle'] ;

$helixangle = $_POST['helixangle'] ;

$helixhand = $_POST['helixhand'] ;

$pitchtext = $_POST['pitchtext'] ;

$pitchdrop = $_POST['pitchdrop'] ;

$gauge = $_POST['gauge'] ;

$typefit = $_POST['typefit'] ;

$facetext = $_POST['facetext'] ;

$facedrop = $_POST['facedrop'] ;

$quantity = $_POST['quantity'] ;

$materials = $_POST['materials'] ;

$notes = $_POST['notes'] ;

 

 

$chknotest = $_POST['chkno'] ;

 

 

// 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-- Chk --\n\n" .

 

$_POST['chkno'][0] .

$_POST['chkno'][1] .

$_POST['chkno'][2] ;

 

if (!empty($contactname)) {

    $message .= "\n\n-- Contact Name --\n\n" . $contactname;

}

 

if (!empty($companyname)) {

    $message .= "\n\n-- Company Name --\n\n" . $companyname;

}

 

if (!empty($currentaddress)) {

    $message .= "\n\n-- Current Address --\n\n" . $currentaddress;

}

 

if (!empty($contactnumber)) {

    $message .= "\n\n-- Contact Number --\n\n" . $contactnumber;

 

if (!empty($rfqreference)) {

    $message .= "\n\n-- RFQ Reference Number --\n\n" . $rfqreference;

}

 

if (!empty($teeth)) {

    $message .= "\n\n-- Teeth --\n\n" . $teeth;

}

 

if (!empty($dpmoduletext)) {

    $message .= "\n\n-- DP Module Text --\n\n" . $dpmoduletext;

}

 

if (!empty($dpmoduledrop)) {

    $message .= "\n\n-- DP Module Drop --\n\n" . $dpmoduledrop;

}

 

if (!empty($pressureangle)) {

    $message .= "\n\n-- Pressure Angle --\n\n" . $pressureangle; 

}

 

if (!empty($helixangle)) {

    $message .= "\n\n-- Helix Angle --\n\n" . $helixangle;

 

if (!empty($helixhand)) {

    $message .= "\n\n-- Helix Hand --\n\n" . $helixhand;

}

 

if (!empty($pitchtext)) {

    $message .= "\n\n-- Pitch Text (Check If Serration) --\n\n" . $dpmoduledrop . " " . $pitchtext;

}     

 

if (!empty($pitchdrop)) {

    $message .= "\n\n-- Pitch Drop (Check If Serration) --\n\n" . $dpmoduledrop . " " . $pitchdrop;

}

 

if (!empty($gauge)) {

    $message .= "\n\n-- Gauge Ref/Tool No. --\n\n" . $gauge;

}

 

if (!empty($typefit)) {

    $message .= "\n\n-- Type Fit --\n\n" . $typefit;

}

 

if (!empty($facetext)) {

    $message .= "\n\n-- Face Width Text --\n\n" . $facetext;

}

 

if (!empty($facedrop)) {

    $message .= "\n\n-- Face Width Drop --\n\n" . $facedrop;

}

 

if (!empty($quantity)) {

    $message .= "\n\n-- Quantity --\n\n" . $quantity; 

}

 

if (!empty($materials)) {

    $message .= "\n\n-- Materials --\n\n" . $materials;

}

 

if (!empty($notes)) {

    $message .= "\n\n-- Notes --\n\n" . $notes;

}

 

 

  // 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($contactname) || empty($from) || empty($companyname) || empty($contactnumber) || empty($teeth) || empty($quantity) || empty($chknotest)/* || empty($dpmoduletext)  || empty($dpmoduledrop) || empty($currentaddress) || empty($rfqreference) || empty($pressureangle) ||  empty($helixangle) || empty($helixhand) || empty($pitchtext) || empty($pitchdrop) || empty($gauge) || empty($typefit) || empty($facetext) || empty($facedrop) || empty($quantity) || empty($materials) ||empty($notes) */) {

  header( "Location: $errorurl" );

  exit ;

}

 

$contactname = strtok( $contactname, "\r\n" );

$email = strtok( $email, "\r\n" );

if (get_magic_quotes_gpc()) {

 

    $chkno = stripslashes( $chkno );

 

    $companyname = stripslashes( $companyname ); 

    $currentaddress = stripslashes( $currentaddress );

    $contactnumber = stripslashes( $contactnumber );

    $rfqreference = stripslashes( $rfqreference );

    $teeth = stripslashes( $teeth ); 

    $dpmoduletext = stripslashes( $dpmoduletext );

    $dpmoduledrop = stripslashes( $dpmoduledrop );

    $pressureangle = stripslashes( $pressureangle );

    $helixangle = stripslashes( $helixangle );

    $helixhand = stripslashes( $helixhand );

    $pitchtext = stripslashes( $pitchtext );

    $pitchdrop = stripslashes( $pitchdrop );

    $gauge = stripslashes( $gauge ); 

    $typefit = stripslashes( $typefit );

    $facetext = stripslashes( $facetext );

    $facedrop = stripslashes( $facedrop );

    $quantity = stripslashes( $quantity );

    $materials = stripslashes( $materials );

    $notes = stripslashes( $notes );

}

 

ini_set("sendmail_from", $from);

 

mail($to, $subject, $message, $headers);

header( "Location: $thankyouurl" );

exit ;

 

?>

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.