Can anyone help.
I have code which will send email with an attachment via PHP however
when it arrives to the destination email the PDF file is empty. I have
come across a few emails where people have had the same problem but no
answers.
Any ideas?
Using the normal mail() function with the code below:
        $to      = $email;
        $from    = "[EMAIL PROTECTED]";
        $subject = "Thank you for downloading the document";
        $message = "Dear $username,<br> 
                        Thank you for taking the time to subscribe for
our free document.<br>
                        Please find the document attached to this
email.";

        // Obtain file upload vars
        $fileatt      = "db/";   // Location of file on server
        $fileatt_type = "application/pdf";// Type of file being sent
        $fileatt_name = "webopman.pdf";// Name of file

        $headers = "From: $from";
        // If the file exists...
        if (file_exists($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/html; 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";
        }
        $ok = @mail($to, $subject, $message, $headers);

Real stuck here.

Steve Jackson
Web Developer
Viola Systems Ltd.
http://www.violasystems.com
[EMAIL PROTECTED]
Mobile +358 50 343 5159


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to