Mail mit gzip Anhang verschicken

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mail mit gzip Anhang verschicken

    Hallo Leute,
    ich versuche eine Email mit gzip Anhang via PHP zu verschicken,
    aber leider kommt immer nur eine leere bzw fehlerhafte .gz-Datei an,
    hat jemand ne Ahnung woran das liegt?

    PHP-Code:
    <?php

    //Backup per Email verschicken 
    function mail_att($to$from$subject$message$file) {
        
    $to="yello@entwickler.mycoding.com";
        
    $mime_boundary "-----=" md5(uniqid(rand(), 1));
        
    $data chunk_split(base64_encode(implode(""file($file))));
        
    $header "From: ".$from."\r\n";
        
    $header.= "To: ".$to."\r\n";
        
    $header.= "MIME-Version: 1.0\r\n";
        
    $header.= "Content-Type: multipart/mixed;\r\n";
        
    $header.= " boundary=\"".$mime_boundary."\"\r\n";
        
    $content "This is a multi-part message in MIME format.\r\n\r\n";
        
    $content.= "--".$mime_boundary."\r\n";
        
    $content.= "Content-Type: text/plain charset=\"iso-8859-1\"\r\n";
        
    $content.= "Content-Transfer-Encoding: 7bit\r\n\r\n";
        
    $content.= $message."\r\n";
        
    $content.= "--".$mime_boundary."\r\n";
        
    $content.= "Content-Disposition: attachment;\r\n";
        
    $content.= "Content-Type: application/x-gzip; name=\"".$file."\"\r\n";
        
    $content.= "Content-Transfer-Encoding: base64\r\n\r\n";
        
    $content.= $data."\r\n";
        
    $content.= "--" $mime_boundary "\r\n";
        if(
    mail($to$subject$content$header)) {
            return 
    TRUE;
        }
        return 
    FALSE;
    }

    $text="Backup im Anhang!";


    mail_att($to"Ich <ich@ich.de>""Datenbank-Backup""$text""backup.gz");            

    //Ende Mailversand
    ?>

  • #2
    spontan finde ich kein "Content-Length".
    Kissolino.com

    Kommentar


    • #3
      und das heißt?

      Kommentar


      • #4
        Original geschrieben von earlyperl
        und das heißt?
        content = inhalt
        length = länge oder anzahl der zeichen

        mit anderen worten: wie gross ist der dateianhang ... guckst du boardsuche
        Kissolino.com

        Kommentar


        • #5
          Das hab ich schon probiert, aber es kommt das selbe Ergebnis

          PHP-Code:
          <?php

          //Backup per Email verschicken
            
            
          function mail_att($to$from$subject$message$file) {
              
          $to="yello@entwickler.mycoding.com";
              
          // $to Empfänger
              // $from Absender ("email@domain.de" oder "Name <email@domain.de>")
              // $subject Betreff
              // $message Inhalt der Email
              // $file Datei auf dem Server, die angehangen wird
              
          $mime_boundary "-----=" md5(uniqid(rand(), 1));
              
          $data chunk_split(base64_encode(implode(""file($file))));
              
          $header "From: ".$from."\r\n";
              
          $header.= "To: ".$to."\r\n";
              
          $header.= "MIME-Version: 1.0\r\n";
              
          $header.= "Content-Type: multipart/mixed;\r\n";
              
          $header.= " boundary=\"".$mime_boundary."\"\r\n";
              
          $content "This is a multi-part message in MIME format.\r\n\r\n";
              
          $content.= "--".$mime_boundary."\r\n";
              
          $content.= "Content-Type: text/plain charset=\"iso-8859-1\"\r\n";
              
          $content.= "Content-Transfer-Encoding: 7bit\r\n\r\n";
              
          $content.= $message."\r\n";
              
          $content.= "--".$mime_boundary."\r\n";
              
          $content.= "Content-Disposition: attachment;\r\n";
              
          $len filesize($file);
              
          $content.= "Content-Length: .$len;\r\n";
              
          $content.= "Content-Type: application/x-gzip; name=\"".$file."\"\r\n";
              
          $content.= "Content-Transfer-Encoding: base64\r\n\r\n";
              
          $content.= $data."\r\n";
              
          $content.= "--" $mime_boundary "\r\n";
              if(
          mail($to$subject$content$header)) {
                  return 
          TRUE;
              }
              return 
          FALSE;
          }

          $text="Backup im Anhang!";


          mail_att($to"ich <ich@ich.de>""Datenbank-Backup""$text""backup.gz");            



          //Ende Mailversand
          ?>

          Kommentar


          • #6
            analysier mal die class hier: http://www.php-resource.de/forum/sho...660&perpage=10

            ich bin nicht der mail-spezi aber ziemlich sicher, dass einige dinge, die du in $content packst, in $header gehören.
            Kissolino.com

            Kommentar

            Lädt...
            X