[PHP] Email mit Anhang klappt nicht

Dieses Thema im Forum "Webentwicklung" wurde erstellt von master2005, 22. September 2011 .

Schlagworte:
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 22. September 2011
    Email mit Anhang klappt nicht

    HHallo, habe leider noch ne Frage wobei google mir nichts gutes ausspuckt und zwar möchte ich hier zusätzlich noch eine Datei anhängen an eine Email aber trotzdem die Email als HTML verschicken

    $empfaenger = $e["email"];
    $absender = $_POST["absender"];
    $betreff = $_POST["betreff"];
    $antwortan = $_POST["antworten"];

    $header .= "Content-Type: text/html\n";
    $header .= "Content-Transfer-Encoding: 8bit\n";
    $header .= "From: $absender\r\n";


    $mailtext .= $_POST["editor1"].'</br><a href='.$admin->domain."/abmelden.php?abmelden=".$e["email"]."'>Abmelden</a>";

    mail( $empfaenger,
    $betreff,
    $mailtext,
    $header);
     

  2. Anzeige
    Dealz: stark reduzierte Angebote finden.
  3. #2 23. September 2011
  4. #3 14. Oktober 2011
    AW: Email mit Anhang klappt nicht

    Das funktioniert nicht! Viele Provider ( Bsp Web.de / Gmx.de ) haben damit Probleme und zeigen die Dateien nich korrekt an. Ich habe selbst vor einer Weile damit gekämpft!

    Eine korrekte Funktion wäre diese hier:

    Spoiler
    PHP:

            
    private function  mail_attachment ( $to , $subject , $message , $attachment ){
                
    $mime_boundary  md5 ( uniqid ( mt_rand (),  1 ));

                
    $header   = "From:" . $this -> sender . "<" . $this -> sender_mail . ">\n" ;
                
    $header  .=  "Reply-To: " . $this -> sender_reply . "\n" ;
                
    $header .=  "MIME-Version: 1.0\n" ;
                
    $header .=  "Content-Type: multipart/mixed;\n" ;
                
    $header .=  " boundary=\"" . $mime_boundary . "\"\n" ;

                
    $content "--" . $mime_boundary . "\n" ;
                
    $content .=  "Content-Type: text/html charset=\"UTF-8\"\n" ;
                
    $content .=  "Content-Transfer-Encoding: 7bit\n\n" ;
                
    $content .=  $message . "\n" ;

                if(!
    is_array ( $attachment )){
                    
    $attachment  = array( $attachment );
                }
                foreach(
    $attachment  as  $file ){
                    
    $name  basename ( $file );
                    
    $size  filesize ( $file );
                    
    $data  file_get_contents ( $file );
                    
    $type  mime_content_type ( $file );

                    
    $content .=  "--" . $mime_boundary . "\n" ;
                    
    $content .=  "Content-Disposition: attachment;" ;
                    
    $content .=  "\tfilename=\"" . $name . "\";\n" ;
                    
    $content .=  "Content-Length: ." . $size . ";\n" ;
                    
    $content .=  "Content-Type: " . $type . "; name=\"" . $name . "\"\n" ;
                    
    $content .=  "Content-Transfer-Encoding: base64\n\n" ;
                    
    $content .=  chunk_split ( base64_encode ( $data )). "\n" ;
                }
                
    $content  .=  "--" . $mime_boundary . "--" ;
                return 
    mail ( $to $subject $content $header );
            }
    Info: Natürlich müssen die $this-Elemente entfernt werden ich habe die Funktion nur gerade aus meinem Framework kopiert!


    Gruß Blackb!rd
     

  5. Videos zum Thema
Die Seite wird geladen...
Similar Threads - PHP Email Anhang
  1. Antworten:
    1
    Aufrufe:
    1.417
  2. Antworten:
    2
    Aufrufe:
    669
  3. Antworten:
    2
    Aufrufe:
    882
  4. Antworten:
    2
    Aufrufe:
    4.705
  5. Antworten:
    12
    Aufrufe:
    483
  • Annonce

  • Annonce