Home-›Foren-›allg. Emailfragen-›Mail mit PHP und Bildanzeige
- This topic has 1 Antwort, 2 Stimmen, and was last updated 02:03 um 5. Januar 2009 by Unbekannt.
- AutorBeitrag
- 16. Dezember 2008 um 09:29 #47509GeccoParticipant
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?
5. Januar 2009 um 02:03 #167436UnbekanntParticipant:calim:
\’ . \”\\n\”;
[code]
\’ . \”\\n\”;
$message .= \’\’ . \”\\n\”;
$message .= \’
$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] - AutorBeitrag