HTML Mails im MIME Format

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

  • HTML Mails im MIME Format

    Hallo!

    Ich versuche gerade mein kleines Newsletter Script etwas aufzuwerten - und zwar mit HTML Mail. Jedoch ist es mir bisher noch nicht gelungen ne anständige MIME Message zu basteln. Und Probleme bei der Einbindung von Bildern gibt es auch! Vielleicht kann mir ja wer weiterhelfen.
    Also 1. werden aus irgendeinem Grunden die Bilder nicht eingebunden. Ich wende die gleiche Methode für die HTML-Templates an, da funktioniert es jedoch:

    $fp = fopen("newsltop.jpg","r");
    $bild1 = fread($fp, filesize("newsltop.jpg"));
    fclose($fp);

    und dann...

    $bild1 = base64_encode($bild1);

    Die $bild1 Variable ist jedoch vor und nach base64_encode() leer! Die Dateigröße mit filesize() zeigt er aber korrekt an! Warum wird das Bild nicht korrekt eingelesen? Ich habe es bei meinem Webhoster (Puretec) versucht und auf meinem Apache bei mir.
    So das ist Problem #1 . Des weiteren passt irgendwas mit dem MIME-Format nicht. Obwohl ich alles aus einem anderen Newsletter übernommen habe (also formatierungs technisch).
    Die Funktion sieht bei mir etwa so aus:

    function mime_mail($text) {
    global $htmlhead,$htmlfoot;
    $texthtm=htmlentities($text);
    $bound='-----=_NextPart_';
    $bound .= md5("metal-lives.de_news");
    $header = "Content-Type: multipart/alternative;\n boundary=\"$bound\"\n";
    $message = "$bound\n";
    $message .= "Content-Type: text/html; charset=\"iso-8859-2\"\n";
    $message .= "Content-Transfer-Encoding: quoted-printable\n\n";
    $message .= "$htmlhead";
    $message .= "$texthtm\n";
    $message .= "$htmlfoot\n";
    $message .= "$bound\n";
    $message .= "Content-Type: image/jpeg\nContent-ID: <part1.newsltop@metallives.de>\nContent-Transfer-Encoding: base64\nContent-Disposition: inline; filename=\"newsltop.jpg\"\n\n";
    $message .= $bild1;
    $message .= "\n$bound\n";
    $message .= "Content-Type: image/jpeg\nContent-ID: <part2.uprisban@metallives.de>\nContent-Transfer-Encoding: base64\nContent-Disposition: inline; filename=\"uprisban.jpg\"\n\n";
    $message .= $bild2;
    $message .= "\n$bound\n";
    $message .= "Content-Type: image/jpeg\nContent-ID: <part3.metalgere@metallives.de>\nContent-Transfer-Encoding: base64\nContent-Disposition: inline; filename=\"metalgere.jpg\"\n\n";
    $message .= $bild3;
    $message .= "\n$bound\n";
    $mail = array();
    $mail[]=$header;
    $mail[]=$message;
    return $mail;
    }

    $htmlhead ist der Header, $htmlfoot der Footer und $text der Inhalt des Newsletters.

    Sorry, dass das jetzt soviel is! Ich hoffe es kennt sich jemand besser damit aus als ich!
    Danke im Voraus für Antworten!

    Grüße Tim
Lädt...
X