html mail bilder einbetten

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

  • html mail bilder einbetten

    hi zusammen! ich versuche mit php einen html mailer hinzubekommen! alles was ich will ist ein bild in einer tr und den eingegebenen text in der zweiten tr! ich bin nun schon seit zwei tagen am verzweifeln und komm einfach nicht auf nen grünen zweig! das bild soll mitgeschickt damit die email auch noch offline zu betrachten ist! hab jetzt herausgefunden das soetwas mit cid realisiert wird...nach stundenlangem googeln hab ich jedoch noch immer keinen blassen schimmer wie ich das bewerstellige! vielleicht wäre jemand so nett mir etwas unter die arme zu greifen??? hier mein bisheriger ansatz:

    PHP-Code:
    <?php

    /* Empfänger */

    $to  $empf;



    /* Betreff */

    $subject "testmail";



    /* nachricht */

    $message '

    <html>

    <head>

     <title>test</title>

    </head>

    <body>

    <table width="780" border="0">

      <tr>

        <td><img src="http://www.xy.org/xy/head.gif"></td>

      </tr>

    <tr>

        <td>print ($text);</td>

      </tr>

     </table>

    </body>

    </html>

    '
    ;



    $headers  "MIME-Version: 1.0\r\n";

    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

    $headers .= "From: $email\r\n";





    /* Verschicken der Mail */

    mail($to$subject$message$headers);

    ?>

    liebe grüsse der kuma

  • #2
    ok... hier ein neuer ansatz! das bild wird nun mitgesendet! nun müsste ich es nur noch referenzieren können! mit cid klappt es nicht

    PHP-Code:
    <?
    // create a boundary
    $boundary = "oberAFFENcool-" . time();
    //$boundary .= $$; // didn't dig $$ equivalent in PHP ( process-id )
    $boundary .= "xoxoxoxoxo";
    $boundary .= time() . "-oberAFFENcool";

    $charset = "iso-8859-1";

    //load the attachment from disk
    $attach_file_name = "some_picture.gif";
    $handle = fopen($attach_file_name, "r");
    $attach_content = fread($handle, filesize($attach_file_name));
    fclose($handle);

    $themessage = "fdgfdgfdg";

    $to = "xy@web.de";
    $subject = "from php mail";
    $xtra = "From: [email]xy@web.de[/email] (Absender)\n";
    $xtra .= "MIME-Version: 1.0\n";
    $xtra .= "Content-Transfer-Encoding: 8bit\n";
    $xtra .= "Content-Type: multipart/mixed; boundary=\"". $boundary . "\"\n\n";
    $xtra .= "--" . $boundary . "\n";
    $xtra .= "Content-Type: text/plain; charset=\"" . $charset . "\"\n";
    $xtra .= "Content-Transfer-Encoding: 7bit";

    $message = $themessage . "\n\n";
    $message .= "--" . $boundary . "\n";
    $message .= "Content-Type: image/gif; name=\"" . $attach_file_name . "\"\n";
    $message .= "Content-Transfer-Encoding: base64\n";
    $message .= "Content-Disposition: attachment; filename=\"" . $attach_file_name . "\"\n\n";

    //encode the attachment with BASE64
    $attach = chunk_split(base64_encode($attach_content));
    $message .= $attach;
    $message .= "\n--" . $boundary . "--\n";

    mail($to, $subject, $message, $xtra);
    print ("ok");
    ?>

    Kommentar


    • #3
      geht es nicht einfach mit <img src="some_picture.gif" />?
      hopka.net!

      Kommentar


      • #4
        leider nein! das wird dann nicht interpretiert! da steht dann in der html mail einfach nur <img src="someicture.gif">

        Kommentar


        • #5
          geht es nicht einfach mit <img src="some_picture.gif" />?
          Ich weiß net, ob das ganz konform ist. Richtiger ist es über die cid.

          Kommentar


          • #6
            yep!!! genau die cid ist mein problem!!! also um nochmal genau zu werden! die datei befindet sich nun im anhang! und nun soll sie damit ind den fliesstext der html mail eingefügt werden! ich dachte das ginge einfach mit cid! jedoch funktioniert das wie oben beschrieben nicht! ich denke das muss mit einem falschen mimetype zusammen hängen! ich komm da aber seit tagen auf keinen grünen pfad


            >>> wie bekomm ich das dumme gif nur in die email???

            Kommentar


            • #7
              so nun hätte ich ein script genau nach meinen anforderungen efunden!!! sendet auch wunderbar die email! schaut so aus als würde es auch das bild einbinden, jedoch kann das bild nicht angezeigt werden >>> es ist nur ein kleines kästchen mit einem x zu sehen. das gif liegt im selben verzeichniss wie das script! scheint so als würde das bild nicht geöffnet oder mitgesendet werden können! könnte mal jemand schauen??? sieht eigentlich alles ok aus


              PHP-Code:
              <?php

              // some local variables
              $from_name "paul";
              $from_email "wer@web.de";
              $to_name "xy";
              $to_email "xy@epost.de";
              $subject "Fantastic Subject";

              // headers need to be in the correct order...
              $headers "From: $from_name<$from_email>\n";
              $headers .= "Reply-To: <$from_email>\n";
              $headers .= "MIME-Version: 1.0\n";
              // the following must be one line (post width too small)
              $headers .= "Content-Type: multipart/related; type=\"multipart/alternative\"; boundary=\"----=MIME_BOUNDRY_main_message\"\n";
              $headers .= "X-Sender: $from_name<$from_email>\n";
              $headers .= "X-Mailer: PHP4\n"//mailer
              $headers .= "X-Priority: 3\n"//1 UrgentMessage, 3 Normal
              $headers .= "Return-Path: <$from_email>\n";
              $headers .= "This is a multi-part message in MIME format.\n";
              $headers .= "------=MIME_BOUNDRY_main_message \n";
              $headers .= "Content-Type: multipart/alternative; boundary=\"----=MIME_BOUNDRY_message_parts\"\n";

              //plaintext section begins
              $message "------=MIME_BOUNDRY_message_parts\n";
              $message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
              $message .= "Content-Transfer-Encoding: quoted-printable\n";
              $message .= "\n";

              // your text goes here
              $message .= "blah blah -- plaintext version of the message\n";
              $message .= "\n";

              // html section begins
              $message .= "------=MIME_BOUNDRY_message_parts\n";
              $message .= "Content-Type: text/html;\n charset=\"iso-8859-1\"\n";
              $message .= "Content-Transfer-Encoding: quoted-printable\n";
              $message .= "\n";

              // your html goes here -- It didn't appear properly without
              // the weird markup that outlook added after sending
              $message .= "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n";
              $message .= "<HTML><BODY>\n";
              $message .= "blah blah -- html version of the message\n";

              // look ma, I'm referencing an img attachment (see below)
              // watch out for weird markup!!!
              $message .= "<IMG src=3D\"cid:some_picture\">\n";
              $message .= "</BODY></HTML>\n";
              $message .= "\n";

              // this ends the message part
              $message .= "------=MIME_BOUNDRY_message_parts--\n";
              $message .= "\n";

              // now we add attachments (images, etc)
              $message .= "------=MIME_BOUNDRY_main_message\n";
              $message .= "Content-Type: image/gif; \n name=\"some_picture.gif\"\n";
              $message .= "Content-Transfer-Encoding: base64\n";
              $message .= "Content-ID: <some_picture>\n";
              $message .= "\n";
              // (truncated for space)
              $message .= "R0lGODlheAAZAKIHAMTExCQkJJOTk\n";
              $message .= "eLo7wzDKSatVQ5R3u7dDUUjcZ34D\n";
              $message .= "\n";
              // etc...etc...etc...

              //message ends
              $message .= "------=MIME_BOUNDRY_main_message--\n";

              // send the message
              mail("$to_name<$to_email>"$subject$message$headers);
              print (
              "ok");
              ?>

              Kommentar


              • #8
                habe das gleiche problem mit dem script - hat vielleicht jemand zeit mal zu schauen, woran es liegt, dass das script nur ein rotes kreuz als platzhalter liefert in der mail

                Kommentar


                • #9
                  anderes problem

                  ich habe folgende ansätze

                  PHP-Code:
                      // Neue Instanz der bildmail() Klasse erstellen
                      
                  $bildmail = new bildmail();
                      
                  $senderemail "jhaustein@web.de";
                      
                  // Absender angeben
                      
                  $bildmail->from($senderemail);
                      
                      
                  // Empfänger Adresse angeben
                      
                  $recipientemail $mail_to;
                      
                  $bildmail->to($recipientemail);
                      
                      
                  // EmailBodyText setzen                Bild in Text einfügen
                      
                  $bildmail->settext($bildmail->setbild("hallo.jpg").$HTTP_POST_VARS["Inhalt"]
                  ich habe ein formular vorgeschaltet, mit dem ich das textfeld inhalt übergebe - klappt auch gut, nur dass ich die zeilenvorschübe, die ich im textfeld eingegeben habe sind nun weg - kann man das ändern?

                  wenn ich diesen ansatz wähle - sind sie zwar drin, nur ich bekomme damit nicht das bild rein
                  PHP-Code:
                   $mail_body$HTTP_POST_VARS["Inhalt"];

                       
                  $test=mail($mail_to,$mail_betreff,$mail_body,$header); 

                  Kommentar


                  • #10
                    für die, die es interessiert

                    es funzt mit

                    PHP-Code:
                    $inhaltnl2br($HTTP_POST_VARS["Inhalt"]); 
                    damit kommen die zeielvorschübe mit rein

                    Kommentar

                    Lädt...
                    X