email mit bild

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

  • email mit bild

    hallo gemeinschaft

    habe folgendes script, welches leider nicht so richtig funzt - möchte gerne, dass in dem mailtextbereich die bilder reinkommen - leider geht das nicht

    könnt ihr vielleicht mal schauen, woran das liegen kann
    PHP-Code:
        <?
        $local_1 = "logo.jpg";
        $local_2 = "collage.jpg";
        $AnzBilder = 2;
        for ($i=1; $i<=$AnzBilder; $i++) {
            $lokal_x = "lokal_" . $i;
            $bild_x = "bild_" . $i;
            $fd = fopen($$lokal_x,"rb");
            $bild = fread($fd,filesize($$lokal_x));
            fclose ($fd);
            $$bild_x = chunk_split(base64_encode($bild));
        }

        $mix = strtoupper(md5(uniqid(time())));
        $rel = "dvfjgk" . $mix;
        $header = "From: $Von\nReply-To: $Von\n";
        $headerPlain = "From: $Von\nReply-To: $Von\n";
        $header .= "MIME-Version: 1.0\n";
        $header .= "Content-type: multipart/mixed; boundary=$mix\n\n";
        $header .= "--$mix\n";
        $header1 .= "Content-type: multipart/related; boundary=$rel\n\n";
        $adresse="jhaustein@web.de";
                
                
                    $header1 .= "--$rel\n";
                    $header1 .= "Content-type: text/html\n\n";//; charset=iso-8859-1\n\n";
            
                    //$header1 .= AddNLBreaks($HTMLInhalt) ."\n\n";
                    // anrede + text html
                    $header2 = "\n\n";
                    $header2 .= "--$rel\n";
                    $header2 .= "Content-type: image/jpg\n";
                    $header2 .= "Content-Transfer-Encoding: base64\n";
                    $header2 .= "Content-ID:\n\n";
                    $header2 .= $bild_1 . "\n\n";
                    $header2 .= "--$rel\n";
                    $header2 .= "Content-type: image/jpg\n";
                    $header2 .= "Content-Transfer-Encoding: base64\n";
                    $header2 .= "Content-ID:\n\n";
                    $header2 .= $bild_2 . "\n\n";
                    $header2 .= "--$rel--\n\n";
                    
            $header2 .= "--$mix--";
            $text = $header . $header1;
            $text .= $HTMLInhalt;
            $text .= $header2;
            
    mail ($adresse, "betreffzeile", "", $text);

    ?>
    EDIT:
    php-tags sponsored by morti
    Zuletzt geändert von MoRtAlAn; 15.09.2004, 12:11.

  • #2
    Was wird als Fehler ausgegeben, was passiert???
    mfg
    Günni


    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
    City-Tiger - Online durch die Straßen tigern...

    Kommentar


    • #3
      es kommt eine mail an - leider ist kein bild zu sehen

      Kommentar


      • #4
        Salut

        schau mal


        hier

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          hi - ich bekomme es nicht hin, dass das logo in der mail oben steht - könnt ihr da nochmal schauen

          Kommentar


          • #6
            Salut jhaustein

            dein Prob dürften die Header sein. Du willst ja nur eine Mail mit einem Bild verschicken (ohne Text oder HTML). Sehe ich das richtig ?

            PHP-Code:
            $$bild_x chunk_split(base64_encode($bild)); 
            Mach auch mal das Dollarzeichen weg (einmal reicht). Ausserdem muss das Bild auf max 76 Zeichen pro Zeile codiert werden (RFC Standart für Mails)

            Den Content Type im Header würde ich auf image/jpeg stellen, denn es geht ja nur ein Bild raus.

            Nach der letzten Boundary im Body MUSST du 2 Zeilenschläge setzten, damit das Sys rafft, dass die Mail am Ende ist. Auch nach dem letzten Header musst du 2 mal den CRLF machen.

            Ich würde eine neue Var einführen für den Nachrichtenteil z.B. $nachricht, ich finde es etwas verwirrend wenn du den body header nennst (ist aber nicht tragisch)

            Auch solltest du nur eine Boundary verwenden.

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              doch doch ich will später mit text darunter das bild versenden - es soll eine art logo sein - wäre schön wenn html

              Kommentar


              • #8
                Salut

                also in diesem Falle lasse den Content Type auf multipart. Ich habe bei mir wirklich ziemlich lange gebastelt bis es gefunzt hat. Verschicke auch ne HTML Mail mit Bild.

                Drum schau dir doch mal den Code unter dem Link an, den ich bei meinem früheren Posting gemacht habe.

                Gruss


                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Salut nochmals

                  schicke mir sonst doch mal deine Email Adresse. Dann lass ich dir so eine mail zukommen und du kannst dann den Header auseinandernehmen.

                  Gruss

                  tobi
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #10
                    dankke

                    jhaustein@web.de

                    Kommentar


                    • #11
                      leider gehts nicht weiter - kann da vielleicht noch jemand mal schauen weshalb das ding nicht funzt

                      platzhalter sind da - die bilder aber nicht
                      PHP-Code:
                      <?php
                      $local_1 
                      "/www.meinedomain/pod2/logo.jpg";
                      $local_2 "/collage.jpg";
                      $AnzBilder 2;
                      $Von "Jhaustein@web.de";
                      for (
                      $i=1$i<=$AnzBilder$i++) {
                          
                      $lokal_x "lokal_" $i;
                          
                      $bild_x "bild_" $i;
                          
                      $fd fopen($$lokal_x,"rb");
                          
                      $bild fread($fd,filesize($$lokal_x));
                          
                      fclose ($fd);
                          $
                      $bild_x chunk_split(base64_encode($bild));
                      }
                      $mix strtoupper(md5(uniqid(time())));
                      $rel "dvfjgk" $mix;
                      $header "From: $Von\nReply-To: $Von\n";
                      $header .= "MIME-Version: 1.0\n";
                      $header .= "Content-type: multipart/mixed; boundary=$mix\n\n";
                      $header .= "--$mix\n";
                      $header1 .= "Content-type: multipart/related; boundary=$rel\n\n";
                          
                      $header1 .= "--$rel\n";
                          
                      $header1 .= "Content-type: text/html\n\n";//; charset=iso-8859-1\n\n";
                          
                      $header2 "\n\n";
                          
                      $header2 .= "--$rel\n";
                          
                      $header2 .= "Content-type: image/jpg\n";
                          
                      $header2 .= "Content-Transfer-Encoding: base64\n";
                          
                      $header2 .= "Content-ID:<image1>\n\n";
                          
                      $header2 .= $bild_1 "\n\n";
                          
                      $header2 .= "--$rel\n";
                          
                      $header2 .= "Content-type: image/jpg\n";
                          
                      $header2 .= "Content-Transfer-Encoding: base64\n";
                          
                      $header2 .= "Content-ID:<image2>\n\n";
                          
                      $header2 .= $bild_2 "\n\n";
                          
                      $header2 .= "--$rel--\n\n";
                      $header2 .= "--$mix--";
                      $text $header $header1;
                      $text .= '<html><head></head><body><img SRC="cid:image1"><img SRC="cid:image2"></body></html>';
                      $text .= $header2;
                      mail ("jhaustein@web.de""betreffzeileneu"""$text);
                      ?>

                      Kommentar


                      • #12
                        Vielleicht kann dies hier irgendwie weiterhelfen...
                        http://www.php-resource.de/forum/sho...threadid=16695
                        mfg
                        Günni


                        Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
                        Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
                        Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
                        City-Tiger - Online durch die Straßen tigern...

                        Kommentar


                        • #13
                          hi günni, und wo kann ich die bilder einbinden

                          Kommentar


                          • #14
                            Im Beispiel füge ich hier das Bild ein
                            PHP-Code:
                            // EmailBodyText setzen                Bild in Text einfügen
                                // Die Funktion setbild muss im Text festgelegt werden
                                
                            $bildmail->settext("Dies ist ein Test...".$bildmail->setbild("Bildname")); 
                            Das Bild muss dann in dem settext eingefügt werden...
                            mfg
                            Günni


                            Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
                            Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
                            Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
                            City-Tiger - Online durch die Straßen tigern...

                            Kommentar


                            • #15
                              kannst du mir vielleicht den code schicken, wo du die daten der bilder sammelst

                              Kommentar

                              Lädt...
                              X