problem mit pdf attachment mail()

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

  • problem mit pdf attachment mail()

    hallo beziehe mich auf ein thread:

    http://www.php-resource.de/forum/sho...1813#post71813

    hab aber das problem das a) die attachments (sind immer pdfs) nach empfang korrupt sind und das mein email text (also der inhalt der email nicht ankommt bzw nicht zu sehen ist)

    $file = "anhang_path/$anhang";
    $file_name = $anhang;
    $from = "admin@7l7mobil.de";
    $email_text = "Hallo ".$row['vorname']." ".$row['nachname'].",\n\n";
    $email_text .= "danke für deine Bewerbung vom: " . timemode($row['timestamp']) . " Uhr.\n\n";
    $email_text .= "Du bist eingeladen zu einer Bewerberauswahlrunde\n";
    $email_text .= "Datum: $tag.$monat.$jahr um $stunde:$minute\n";
    $email_text .= "Ort:".$ort."\n\n";
    $email_text .= "$mail_content \n\n";
    $email_text .= "".$userinfo[vorname]." ".$userinfo[name]."\n\n";
    $email_text .= "$mail_signatur \n\n";
    $boundary = strtoupper(md5(uniqid(time())));
    $header = "From:$from\n";
    $header .= "MIME-Version: 1.0";
    $header .= "\nContent-Type: multipart/mixed; boundary=$boundary";
    $header .= "\n\nThis is a multi-part message in MIME format -- Dies ist eine mehrteilige Nachricht im MIME-Format";
    $header .= "\n--$boundary";
    $header .= "\nContent-Type: text/plain";
    $header .= "\nContent-Transfer-Encoding: 8bit";
    $header .= "\n\n$email_text";
    $file_content = fread(fopen($file,"r"),filesize($file));
    $file_content = chunk_split(base64_encode($file_content));
    $header .= "\n--$boundary";
    $header .= "\nContent-Type: application/octetstream; name=\"$file_name\"";
    $header .= "\nContent-Transfer-Encoding: base64";
    $header .= "\nContent-Disposition: attachment; filename=\"$file_name\"";
    $header .= "\n\n$file_content";
    $header .= "\n--$boundary--";



    mail("admin@7l7mobil.de",$mail_betreff,"",$header)

    ich benutze hamster als lokalen mailserver ... was mach ich falsch

  • #2
    PHP-Code:
    $header .= "\n\nThis is a multi-part message in MIME format -- Dies ist eine mehrteilige Nachricht im MIME-Format";
    $header .= "\n--$boundary";
    $header .= "\nContent-Type: text/plain";
    $header .= "\nContent-Transfer-Encoding: 8bit";
    $header .= "\n\n$email_text";
    $file_content fread(fopen($file,"r"),filesize($file));
    $file_content chunk_split(base64_encode($file_content));
    $header .= "\n--$boundary";
    $header .= "\nContent-Type: application/octetstream; name=\"$file_name\"";
    $header .= "\nContent-Transfer-Encoding: base64";
    $header .= "\nContent-Disposition: attachment; filename=\"$file_name\"";
    $header .= "\n\n$file_content";
    $header .= "\n--$boundary--"
    das muss in den body, oder?

    Kommentar


    • #3
      hallo, danke für die schnelle antwort....

      body ... hm also wenn du mit body den inhalt oder die message verstehts dann soll ja nur das in den body und halt das pdf als attachment

      PHP-Code:
      <?php 

      $email_text 
      "Hallo ".$row['vorname']." ".$row['nachname'].",\n\n";
      $email_text .= "danke für deine Bewerbung vom: " timemode($row['timestamp']) . " Uhr.\n\n";
      $email_text .= "Du bist eingeladen zu einer Bewerberauswahlrunde\n";
      $email_text .= "Datum: $tag.$monat.$jahr um $stunde:$minute\n";
      $email_text .= "Ort:".$ort."\n\n";
      $email_text .= "$mail_content \n\n";
      $email_text .= "".$userinfo[vorname]." ".$userinfo[name]."\n\n";
      $email_text .= "$mail_signatur \n\n";

      Kommentar


      • #4
        nee, denke ich nicht!

        Kommentar


        • #5
          guck dir mal den quelltext von ner funktionierende mail an!

          Kommentar


          • #6
            wie mache ich das?

            Kommentar


            • #7
              du hast noch nie ne mail von "innen" gesehen und versucht multipart mails zu erstellen

              wenn du outlook hast, dann geht das mit datei->eigenschaften.

              Kommentar


              • #8
                hab ich noch nicht ,.... sieht aber gut aus der "body" oder die message ist dabei allerdings wird sie ja nicht dargestellt? so ich das mal posten?

                fra7l7

                Kommentar


                • #9
                  ach ja das attachment soll ja nicht im body auftauchen ... ich glaube da steckt der fehler ...

                  Kommentar


                  • #10
                    das glaube ich wieder nicht.

                    mach dir mal klar, dass der MAILBODY =! dem ist, was angezeigt wird!!!

                    Kommentar


                    • #11
                      man tobiaz ich schnalls nicht ... wie würdest du es machen?
                      da ich noch "NIE" mails auf diese weise kodiert habe steh ich vor ner wand mit lauter lnlines,boundry, encoding usw ,... ich hab hier ne haufen bücher vor mir liegen aber grade zu dem prob ist nichts dabei und tutorial gibt auch nicht im netz die mime-mail klasse will ich nicht benutzen ....

                      was nun

                      Kommentar


                      • #12
                        das hast du das gleiche problem, wie ich vor kuzem. ich wollt mir ne eigene klasse basteln, weil die mimeclass, die du vermutlich auch kennst, mir zu groß war.

                        naja, ich habse dann doch genommen, zumindest temporär, weil ich auf die schnelle auch nicht richtig durch die borders durchgeblickt habe.

                        soweit ich das sehenkann, sieht das eigentlich schon gut aus. nur:

                        den teil, den ich oben mal rausgenommen habe, der muss in den body und nicht in den head der mail

                        mail(empfänger,betreff,body(!),header);

                        Kommentar


                        • #13
                          bingo ok ich habs geschnallt .... der body ist jediglich der

                          Content-Transfer-Encoding: 8bit

                          muß noch woanders da er auch im body auftaucht ich gehe davon aus das auch dewegen die file korrupt ist

                          Kommentar


                          • #14
                            ok hab das auch geschaft jetzt ist nur noch das pdf korrupt?

                            PHP-Code:
                                                    $file "anhang_path/$anhang";
                                                    
                            $file_name $anhang;
                                                    
                            $from "admin@7l7mobil.de";
                                                    
                            $email_text "Hallo ".$row['vorname']." ".$row['nachname'].",\n\n";
                                                    
                            $email_text .= "danke für deine Bewerbung bei P.A.S.T. vom: " timemode($row['timestamp']) . " Uhr.\n\n";
                                                    
                            $email_text .= "Du bist eingeladen zu einer Bewerberauswahlrunde\n";
                                                    
                            $email_text .=    "Datum: $tag.$monat.$jahr um $stunde:$minute\n";
                                              
                            $email_text .= "Ort: P.A.S.T. Firmensitz (Europaallee 33 in Frechen)\n\n";
                                                    
                            $email_text .= "$mail_content \n\n";
                                                    
                            $email_text .= "".$userinfo[vorname]." ".$userinfo[name]."\n\n";
                                                 
                            $email_text .= "$mail_signatur \n\n";
                                                    
                            $boundary strtoupper(md5(uniqid(time())));
                                                    
                            $header  "From:$from\n";
                                                    
                            $header .= "MIME-Version: 1.0";
                                                    
                            $header .= "\nContent-Type: multipart/mixed; boundary=$boundary";
                                                    
                            $body "\n\nThis is a multi-part message in MIME format  --  Dies ist eine mehrteilige Nachricht im MIME-Format";
                                                    
                            $body .= "\n--$boundary";
                                                    
                            $body .= "\nContent-Type:text/plain";
                                                    
                            $body .= "\nContent-Transfer-Encoding: 8bit";
                                                    
                            $body .= "\n\n$email_text";
                                                    
                            $body .= "\n\n TEST";
                                                    
                            $file_content fread(fopen($file,"r"),filesize($file));
                                                    
                            $file_content chunk_split(base64_encode($file_content));
                                                    
                            $body .= "\n--$boundary";
                                                    
                            $body .= "\nContent-Type: application/octetstream; name=\"$file_name\"";
                                                    
                            $body .= "\nContent-Transfer-Encoding: base64";
                                                    
                            $body .= "\nContent-Disposition: attachment; filename=\"$file_name\"";
                                                    
                            $body .= "\n\n$file_content";
                                                    
                            $body .= "\n--$boundary--"
                            woran kann das noch liegen?

                            Kommentar

                            Lädt...
                            X