Moin,
ich hab' ein kleines Problem mit dem Versand von HTML-eMail über ein PHP-Script...
Die Mail kommt an, wird aber nicht angezeigt.
Im Quelltext der Mail ist aber alles enthalten.
Mein Script:
PHP-Code:
<?php
//turn off error reporting --easily commented out for development, but keeps site visitors from seeing any random thrown errors
error_reporting(0);
// specify the recipients and subject
$to = "foo@bar.de";
$subject = "Neue email";
//grab all our vars from the form
extract($_POST);
//Let's start our headers
$headers = "From:$EMail\r\n";
$headers .= "Reply-To:$EMail\r\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/related; type=\"multipart/alternative\"; boundary=\"----=MIME_BOUNDRY_main_message\"\n";
$headers .= "X-Sender:foo@bar.de\r\n";
$headers .= "X-Mailer: PHP5\n";
$headers .= "X-Priority: 3\n"; //1 = Urgent, 3 = Normal
$headers .= "Return-Path:foo@bar.de\r\n";
$headers .= "This is a multi-part message in MIME format.\n";
$headers .= "------=MIME_BOUNDRY_main_message \n";
$headers .= "Content-Type: multipart/alternative; boundary=\"----=MIME_BOUNDRY_message_parts\"\n";
$message = "------=MIME_BOUNDRY_message_parts\n";
$message .= "Content-Type: text/html; charset=\"utf-8\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n";
$message .= "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n";
$message .= "<html><head><title>Toller Titel</title><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></head><body style=\"margin:0 0 0 0px; padding:0; background-color: #ffffff; font-family:Arial;font-size: 12px;\"><table>\n";
$message .= "<tr><td>Marke: </td><td>".stripslashes($_POST['Marke'])."</td></tr>\n";
// Viele andere Formulardaten :) //
$message .= "<tr><td>Kontaktaufnahme: </td><td>".stripslashes($_POST['Kontaktaufnahme'])."</td></tr>\n";
$message .= "</table></body></html>\n";
$message .= "------=MIME_BOUNDRY_message_parts--\n";
$message .= "\n";
$message .= "\n";
$message .= "------=MIME_BOUNDRY_message_parts--\n";
$message .= "\n";
/*deal with mulitple attachments */
foreach($_FILES as $file => $value) {
$_tmpname = $_FILES[$file]['tmp_name'];
$_filename = $_FILES[$file]['name'];
if (is_uploaded_file($_tmpname)) { //Do we have a file uploaded?
$fp = fopen($_tmpname, "rb"); //Open it
$data = fread($fp, filesize($_tmpname)); //Read it
$data = chunk_split(base64_encode($data)); //Chunk it up and encode it as base64 so it can emailed
$message .= "------=MIME_BOUNDRY_main_message\n";
$message .= "Content-Type: application/octet-stream;\n\tname=\"" . $_filename . "\"\n";
$message .= "Content-Transfer-Encoding: base64\n";
$message .= "Content-Disposition: attachment;\n\tfilename=\"" . $_filename . "\"\n\n";
$message .= $data; //The base64 encoded message
$message .= "\n\n";
fclose($fp);
}
}
$message .= "------=MIME_BOUNDRY_main_message--\n";
@mail( $to, $subject, $message, $headers );
header("Location: http://www.meine-domain.de"); ?>
So sieht dann der Mail-Quelltext aus:
Code:
Received: (qmail 28982 invoked by uid 30); 30 Dec 2009 16:29:27 +0100
X-Mail-Scanner: Scanned by qSheff-II-2.1-r3 (http://www.enderunix.org/qsheff/)
Date: 30 Dec 2009 16:29:27 +0100
Message-ID: <20091230152927.28977.qmail@meinserver.de>
To: foo@bar.de
Subject: Neues Ankaufsangebot
From: phoenix@MeineDomain.de
Reply-To: phoenix@MeineDomain.de
MIME-Version: 1.0
Content-Type: multipart/related; type="multipart/alternative"; boundary="----=MIME_BOUNDRY_main_message"
X-Sender:foo@bar.de X-Mailer: PHP5
X-Priority: 3
X-Antivirus: avast! (VPS 091230-0, 30.12.2009), Inbound message
X-Antivirus-Status: Clean
This is a multi-part message in MIME format.
------=MIME_BOUNDRY_main_message
Content-Type: multipart/alternative; boundary="----=MIME_BOUNDRY_message_parts"
------=MIME_BOUNDRY_message_parts
type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>Toller Titel</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="margin:0 0 0 0px; padding:0; background-color: #ffffff; font-family:Arial;font-size: 12px;"><table>
<tr><td>Marke: </td><td>Citroen</td></tr>
<tr><td>Kontaktaufnahme: </td><td>bitte senden Sie mir eine E-Mail</td></tr>
</table></body></html>
------=MIME_BOUNDRY_message_parts--
------=MIME_BOUNDRY_message_parts--
------=MIME_BOUNDRY_main_message
Content-Type: application/octet-stream;
name="darkside3.gif"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="meinbild1.jpg"
meinbild1-Base64-Daten...
------=MIME_BOUNDRY_main_message
Content-Type: application/octet-stream;
name="nde.gif"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="meinbild2.jpg"
meinbild2-Base64-Daten...
------=MIME_BOUNDRY_main_message--
Hat jemand eine Idee warum die Mail nicht angezeigt wird?
Gruß,
Thomas