Mail mit PHP und Bildanzeige

Home-›Foren-›allg. Emailfragen-›Mail mit PHP und Bildanzeige

2 Antworten anzeigen - 1 bis 2 (von insgesamt 2)
  • Autor
    Beitrag
  • #47509
    Gecco
    Teilnehmer

      Hallo,

      ich habe folgendes Problem:
      Ich möchte gerne per PHP eine Mail mit Bildern verschicken. Leider haben die meisten Email-Clients ja die Sicherheit so eingestellt, dass man erstmal nur das rote X für das Bild bekommt und man dann per rechtsklick das Bild downloaden kann.
      Dies hat ja meist den Hintergrund, dass das Bild auf einem Webserver liegt und heruntergeladen werden muss.
      Ich möchte dies gerne umgehen und habe mich auch schon in einigen Foren informiert.
      Das Ergebnis meiner Recherche und Arbeit findet ihr hier:
      [php]$CID = md5(uniqid(rand(),1));
      $img = “bild.jpg”;
      $to = “email@email.de”;
      $sub = “Testnachricht”;
      $txt = ‘Testnachricht ‘;
      $Trenner = md5(uniqid(time()));
      $header = “From: test@test.de”;
      $header .= “\n”;
      $header .= “X-Mailer: PHP/” . phpversion();
      $header .= “\n”;
      $header .= “MIME-Version: 1.0”;
      $header .= “\n”;
      $header .= “Content-Type: multipart/mixed; boundary=$Trenner”;
      $header .= “\n\n”;
      $header .= “This is a multi-part message in MIME format”;
      $header .= “\n”;
      $header .= “–$Trenner”;
      $header .= “\n”;
      $header .= “Content-Type: text/html; charset=iso-8859-1”;
      $header .= “\n”;
      $header .= “Content-Transfer-Encoding: 8bit”;
      $header .= “\n\n”;
      $header .= “Sie haben folgende Nachricht erhalten: \n\n”;
      $header .= $txt;
      $header .= “\nDatum/Zeit: “;
      $header .= date(“d.m.Y H:i:s”);
      $header .= “\n”;
      $header .= “–$Trenner”;
      $header .= “\n”;
      $header .= “Content-Type: image/jpeg; name=PA2293.JPG”;
      $header .= filesize ($img);
      $header .= “\n”;
      $header .= “Content-ID: <$CID.$img>“;
      $header .= “\n”;
      $header .= “Content-Transfer-Encoding: base64”;
      $header .= “\n”;
      $header .= “Content-Disposition: inline; filename=PA2293.JPG”;
      $header .= “\n\n”;
      $Dateiinhalt = fread(fopen(“PA2293.JPG”, “r”), filesize ($img));
      $header .= chunk_split(base64_encode($Dateiinhalt));
      $header .= “\n”;
      $header .= “–$Trenner–“;
      mail ($to, $sub, $txt, $header);
      [/php]

      Das Bild wird wie als Anhang mit versendet, aber leider habe ich im Text immer noch das rote X und ich kann es noch nicht mal lasen lassen.

      Wer kann mir hier weiterhelfen?

      #167436
      Unbekannt
      Teilnehmer

        :calim:
        [code]
        \’ . \”\\n\”;
        $message .= \’\’ . \”\\n\”;
        $message .= \’\’ . \”\\n\”;
        $message .= \’ \’ . \”\\n\”;
        $message .= \’\’ . \”\\n\”;
        $message .= \’\’ . \”\\n\”;
        $message .= \’

        \’ . \”\\n\”;
        $message .= strtr(htmlentities($text), array(\”\\r\\n\” => \”
        \\n\”, \”\\n\” => \’
        \’ . \”\\n\”));
        $message .= \’

        \’ . \”\\n\”;
        $message .= \’

        \’ . \”\\n\”;
        $message .= \’ Bild:\’ . \”\\n\”;
        $message .= \’ \"\'\’ . \”\\n\”;
        $message .= \’

        \’ . \”\\n\”;
        $message .= \’\’ . \”\\n\”;
        $message .= \’\’ . \”\\n\”;
        $message .= \”\\n\” . \’–\’ . $boundary . \’-2\’ . \”\\n\”;
        $message .= \’Content-Type: image/jpeg; name=\”\’ . $dateiname . \’\”\’ . \”\\n\”;
        $message .= \’Content-ID: <\' . $cid . \'>\’ . \”\\n\”;
        $message .= \’Content-Transfer-Encoding: base64\’ . \”\\n\”;
        $message .= \”\\n\”;
        $message .= chunk_split(base64_encode($bild), 76, \”\\n\”);
        $message .= \”\\n\” . \’–\’ . $boundary . \’-2–\’;
        $message .= \”\\n\” . \’–\’ . $boundary . \’-1–\’;

        if (!mail($to, $subject, $message, $headers))
        die(\’Fehler beim E-Mail-Versand!\’);
        ?>
        [/code]

      2 Antworten anzeigen - 1 bis 2 (von insgesamt 2)

      -