Kalle_B: Bild als Mail-Anhang

Hallöle,

wie kann ich ein Bild in eine HTML-Mail einbinden, bzw. das Bild anhängen?

Bei PHP-Mail sucht man die Stichworte ".jpg" oder "multipart/related" vergeblich.

$_hmail_sent  = mail( $arr_in['email_e'], $mail_subject, $mail_body, $mail_header );

Ist das Bild ein zusätzlicher Parameter oder muss das irgendwie in $mail_body integriert werden?

Gruß, Kalle

  1. hi,

    Ist das Bild ein zusätzlicher Parameter oder muss das irgendwie in $mail_body integriert werden?

    Das kommt alles in den body sowas. In den Header kommt die Deklaration. Bins werden Base64 kodiert (aus bin mach ASCII).

    Am Besten du erstellst mal eine Mail mit Anhang mit einem gewöhnlichen Mailprogramm und guckst dir die Datei mit einem gewöhnlichen Editor an.

    Horst Hexenmeister

    1. hi,

      Am Besten du erstellst mal eine Mail mit Anhang mit einem gewöhnlichen Mailprogramm und guckst dir die Datei mit einem gewöhnlichen Editor an.

      Habe ich gemacht, eine Mail entspr. aufgebaut und abgeschickt. Im Thunderbird wird Absender und Betreff angezeigt, der Body ist aber vollkommen leer. Mit [Strg][U] ergibt sich:

      MIME-Version: 1.0
      Content-Type: multipart/related; boundary="--6459c94c0d0d5ceaf17ba01ef05945b1"
      From: eCards@xxx.de
      ...
      --6459c94c0d0d5ceaf17ba01ef05945b1
      Content-Type: text/HTML; charset=UTF-8
      Content-Transfer-Encoding: 8bit

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
      <html>
      <head>
      <style type="text/css">
      p, li, ul {font-family:verdana,arial; margin:0 0 0.5em 0}
      .cdgruen {color:#0a0}
      .upcase {text-transform:uppercase}
      </style>

      </head>
      <body>
      <p class=cdgruen><b>Postkarte aus Birkenau von yyyyy,</b> (yyyy@gmx.de)</p>

      <img src="cid:part1.01060406.09030400@xxx.de" alt=""><br>
      <p>Motiv: &nbsp; - SCHLOSS -</p>
      <br>
      <p>Dies ist nur ein Test.<br />
      <br />
      Am 04.11. um 20:48</p>
      </body>
      </html>

      --6459c94c0d0d5ceaf17ba01ef05945b1
      Content-Type: image/jpeg; name="bild.jpg"
      Content-Transfer-Encoding: base64
      Content-ID: part1.01060406.09030400@osmer.de
      Content-Disposition: inline; filename="bild.jpg"

      /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9
      PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhC
      Y2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAAR
      ...
      G7U3uPrRRQgFl+6PrVfUmKWczKSrA8EcHqKKK6qXwmFTctkk+Xkk/JmmR/6yT6iiisqvxGkN
      h56UUUVmWf/Z
      --6459c94c0d0d5ceaf17ba01ef05945b1--

      Warum wird nichts angezeigt?

      Gruß, Kalle

      1. Deine Boundary ist falsch

        Content-Type: multipart/related; boundary="--6459c94c0d0d5ceaf17ba01ef05945b1"

        ...

        --6459c94c0d0d5ceaf17ba01ef05945b1

        Definition ohne "--"
        die kommen erst in der Anwendung zum Zuge

        also

        boundary="BOUNDARYSTRING"

        --BOUNDARYSTRING

        mfg Beat

        --
        ><o(((°>           ><o(((°>
           <°)))o><                     ><o(((°>o
        Der Valigator leibt diese Fische
        1. Definition ohne "--"
          die kommen erst in der Anwendung zum Zuge

          Ja, verd....  Das Vorbild hatte bei der Definition 12 Minuszeichen davor und später dann 14. Bin nicht auf die Idee gekommen, die zu zählen.

          Danke, jetzt klappt es aber.

          Gruß, Kalle