Attachments ohne Dateiendung bei Win2000

sugar

Erfahrenes Mitglied
Attachments ohne Datei Endung bei Win2000

Ich habe folgendes Script was bei mir (Outlook und WinVista) problemlos funktioniert. Beim Kunden kommen die Anhänge aber ohne Datei Endung an und können nicht geöffnet werden. (Werden auch laut Screenshot unter der Mail angezeigt.)

Liegt es am Script? Ich habe es auch mit Yahoo Mail probiert, dort geht es auch.

Script Auszug:

PHP:
$mime_boundary="==Multipart_Boundary_x".md5(mt_rand())."x";
   
   $headers = "From: $mail\r\n" .
   "MIME-Version: 1.0\r\n" .
      "Content-Type: multipart/mixed;\r\n" .
      " boundary=\"{$mime_boundary}\"";

   $message = "<p><font face=\"Arial, Helvetica, sans-serif\" size=\"3\" color=\"#3366ff\"><b>Bewerbung zu: </b></font><font face=\"Arial, Helvetica, sans-serif\" size=\"3\" color=\"#000000\"><b>$titel</b></font></p>\n";
    
   $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";
   
   foreach($_FILES as $userfile){

      $tmp_name = $userfile['tmp_name'];
      $type = $userfile['type'];
      $name = $userfile['name'];
      $size = $userfile['size'];

      if (file_exists($tmp_name)){

         if(is_uploaded_file($tmp_name)){
 	
            $file = fopen($tmp_name,'rb');
 	
            $data = fread($file,filesize($tmp_name));

            fclose($file);
 	
            $data = chunk_split(base64_encode($data));
         }
 	
         $message .= "--{$mime_boundary}\n" .
            "Content-Type: {$type};\n" .
            " name=\"{$name}\"\n" .
            "Content-Disposition: attachment;\n" .
            " filename=\"{$fileatt_name}\"\n" .
            "Content-Transfer-Encoding: base64\n\n" .
         $data . "\n\n";
      }
   }
   $message.="--{$mime_boundary}--\n";

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

Bin für jede Hilfe dankbar!
 

Anhänge

  • Screenshot_Mail2.jpg
    Screenshot_Mail2.jpg
    39,4 KB · Aufrufe: 17
Zuletzt bearbeitet:
Danke für deine Antwort.

Das ursprüngliche Script hatte ich von dieser Seite:

Link

Es funktioniert ansonsten ja auch top! (Außer beim Kunden...)
 
Da fehlt das die Definition ebenfalls... Ergänze mal folgendes:

PHP:
$tmp_name = $_FILES['filename']['tmp_name'];
   $type = $_FILES['filename']['type'];
   $name = $_FILES['filename']['name'];
   $size = $_FILES['filename']['size'];
   $fileatt_name = $name;
 
Zurück