unerwünschter Dateianhang bei MIME multipart/alternative E-Mail

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

  • unerwünschter Dateianhang bei MIME multipart/alternative E-Mail

    Innerhalb eines PHP-Skripts soll eine E-Mail vom Typ multipart/alternative mit Textversion, HTML und eingebetteter Grafik (gif) verschickt werden. Das Ergebnis sowohl beim Verschicken mit mail() als auch beim lokalen Speichern als .eml-File ist das gewünschte (d.h. die Sache sieht so aus wie ich mir's vorgestellt habe), allerdings mit dem kleinen Schönheitsfehler, dass die Mail ein Attachment mit dem Namen "AT000[zahl].TXT" enthält, das leer ist und eine Größe von 0 bzw. 59 Byte hat. Als Clients habe ich sowohl Outlook Express als auch Outlook verwendet. Woran liegt's? Wo steckt der Fehler? Habe zig Mal jeden einzelnen Zeilenumbruch gecheckt und konnte nichts finden.

    Hier der relevante Teil des Skripts:

    ...

    $header = "MIME-Version: 1.0\r\n";
    $header.= "Content-Type: multipart/alternative; boundary=\"_SEPARATOR_\"\r\n";
    $header.= "From: info@xyz.de\r\n";
    $body.= "\r\n";
    $body.= "--_SEPARATOR_\r\n";
    $body.= "Content-Type: text/plain; charset=iso-8859-1\r\n";
    $body.= "Content-Transfer-Encoding: quoted-printable\r\n";
    $body.= "\r\n";
    $body.= "$message\r\n";
    $body.= "\r\n";
    $body.= "--_SEPARATOR_\r\n";
    $body.= "Content-Type: multipart/related; boundary=\"_SUBSEPARATOR_\"\r\n";
    $body.= "\r\n";
    $body.= "--_SUBSEPARATOR_\r\n";
    $body.= "Content-Type: text/html; charset=iso-8859-1\r\n";
    $body.= "Content-Transfer-Encoding: 8bit\r\n";
    $body.= "\r\n";
    $body.= "$htmltext\r\n";
    $body.= "\r\n";
    $body.= "--_SUBSEPARATOR_\r\n";
    $body.= "Content-ID: <image0>\r\n";
    $body.= "Content-Type: image/gif\r\n";
    $body.= "Content-Transfer-Encoding: base64\r\n";
    $body.= "Content-Disposition: inline; filename=\"head.gif\"\r\n";
    $body.= "\r\n";
    $body.= "$htmlbild\r\n";
    $body.= "--_SUBSEPARATOR_\r\n";
    $body.= "--_SEPARATOR_\r\n";
    //E-Mail verschicken
    //mail ($email,$subject,$body,$header);
    //
    //E-Mail speichern
    $emailfile="$header$body";
    $datei=fopen("nachricht.eml","w+");
    fputs($datei,$emailfile);
    fclose($datei);
    ...

    Für sachdienliche Hinweise wäre ich sehr dankbar! Zwar hat das Problem keinen Einfluss auf die Darstellung der Mail, wird aber vermutlich dazu führen, dass viele Empfänger des Newsletters, den ich mit dem Skript verschicken möchte, das gute Stück sofort löschen. Wer öffnet schon Mails mit dubiosem Anhang??
Lädt...
X