Mail mit Anhang

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mail mit Anhang

    Ich wollte ne HTML-Mail mit Anhang versende jedoch wird der Anhang nicht angehängt sondern in der Mail als Buchstaben / Zahlenkombination anzeigt. Kann mir jemand auf die Sprünge helfen ?

    Hier mein Code:

    PHP Code:
    <?php
        $name 
    $_POST['name'];
        
    $mail $_POST['mail'];
        
    $to $_POST['to'];
        
    $cc $_POST['cc'];
        
    $bcc $_POST['bcc'];
        
    $body $_POST['body'];
        
        
    $datei "haus.pdf";
        
    $subject "e-mail von $SERVER_NAME";

        
    $ip getenv("REMOTE_ADDR");
        
    $host gethostbyaddr($ip);

        
    $message "$body<br><br>
    -----------------------------------------------------------------------------------<br>
    [Zur Sicherheit wurden Ihre IP(
    $ip) und Ihr Host($host) mitgeschickt]";    
                
    if (!empty(
    $to)) {

          
    // Ab hier nix mehr ändern!!!
          
    $datei_content fread(fopen($datei,"r"), filesize($datei));
          
    $datei_content chunk_split(base64_encode($datei_content));
          
    $boundary strtoupper(md5(uniqid(time())));

          
    // Beginne den Mail-Header mit MIME-Mail-Header
          
    $mail_header =  "From: $name <$mail>\r\n";
          
    $mail_header .= "To: $to\r\n";
                
    $mail_header .= "Cc:  $cc\r\n";
                
    $mail_header .= "Bcc: $bcc\r\n";
          
    $mail_header .= "\nMIME-Version: 1.0";
          
    $mail_header .= "\nContent-Type: multipart/mixed; boundary=$boundary";
          
    $mail_header .= "\n\nThis is a multi-part message in MIME format -- ";
          
    $mail_header .= "Dies ist eine mehrteilige Nachricht im MIME-Format";

          
    // Hier faengt der normale Mail-Text an
          
    $mail_header .= "\n--$boundary";
          
    $mail_header .= "\nContent-Type: text/plain";
          
    $mail_header .= "\nContent-Transfer-Encoding: 8bit";
          
    $mail_header .= "\n\n$message";

          
    // Hier faengt der Datei-Anhang an
          
    $mail_header .= "\n--$boundary";
          
    $mail_header .= "\nContent-Type: application/x-zip-compressed; name=\"".$datei."\"";

          
    // Lese aus dem Array $contenttypes die Codierung fuer den MIME-Typ des Anhangs aus
          
    $mail_header .= "\nContent-Transfer-Encoding: base64";
          
    $mail_header .= "\nContent-Disposition: attachment; filename=\"".$datei."\"";
          
    $mail_header .= "\n\n$datei_content";

          
    // Gibt das Ende der eMail aus
          
    $mail_header .= "\n--$boundary--";
                if(
    preg_match("/^([_a-zA-Z0-9-}+)*@([a-zA-Z-0-9-]+\.)+([a-zA-Z]{2,3})$/",$mail)) {
                   
    mail($to$subject$message$mail_header);    
                  
    $status"Ihre Nachricht wurde erfolgreich versandt";
                   }
          else
             
    $status "fehler!";
          echo 
    "$status<BR><BR>";
       }  
         }
    ?>
    eigentlich müsste es doch so gehen oder sehe ich da was falsch ?
    Last edited by mgoertz; 06-09-2004, 11:12.

  • #2
    Vielleicht sowas?

    PHP-Einfach.de - Email mit Anhang

    Comment

    Working...
    X