Supportnet / Forum / Skripte(PHP,ASP,Perl...)
HTML Emails werden falsch angezeigt
Frage
Hi Leute!
Ich habe das Problem, daß Emails, die per Script verschickt werden in Outlook richtig angezeigt werden, aber bei Web.de oder gmx, oder bei anderen Webmails nur der HTML-Code angezeigt wird.
Was mache ich falsch?
[code]
$email_to = "$row[m_email]"; //wer bekommt die email
$email_from_mail = "test@email.de"; //Absender-Email
$email_from_name = "Webmaster"; //Absender-Name
$email_betreff = "Kontaktanfrage"; //Betreff in der Mail
$header="From:$email_from_name<$email_from_mail>\n";
$header .= "Content-Type: text/html";
$emailtext=stripslashes($emailtext);
mail($email_to,$email_betreff,$emailtext,$header);
[/code]
Danke für Eure Hilfe
Antwort 1 von disco
moin
sieht eigentlich gut aus.
zeig mal den text von "stripslashes($emailtext)".
g,
disco
sieht eigentlich gut aus.
zeig mal den text von "stripslashes($emailtext)".
g,
disco
Antwort 2 von DJTomPW
Hi disco!
Der Text ist normaler HTML
Ist da etwa der Fehler zu finden?
Der Text ist normaler HTML
$emailtext="<html><head><title>News</title></head><body<table width=\"90%\" align=\"center\" cellspacing=\"0\" bgcolor=\"#D8E3E9\"><tr><td><table width=\"100%\" border=\"0\" cellpadding=\"10\" cellspacing=\"0\" bgcolor=\"749BAE\"><tr><td><div align=\"center\"><a href=\"http://pc-dj.h2165.serverkompetenz.net/index.php?pid=10250001\" target=\"_blank\"><img src=\"http://pc-dj.h2165.serverkompetenz.net/gifs/werbebanner/pcdj3.jpg\" width=\"468\" height=\"60\" border=\"0\"></a></div></td></tr><tr><td valign=\"top\">".$newstext."</td> </tr></table></td></tr></table></body></html>"
Ist da etwa der Fehler zu finden?
Antwort 3 von disco
$emailtext="<html><head><title>News</title></head><body <table
tag zu fehlt.
tag zu fehlt.
Antwort 4 von DJTomPW
doch, der ist da, 3.Zeile nach bgcolor.
Antwort 5 von disco
ich bin mir jetzt nicht ganz sicher, weil ich mich nur begrenzt mit html auskenne. aber ich habe noch nicht geshen, dass du in den body-tag was mit reinpacken kannst. vorallem was bringt das? ausserdem ist das das tag-von <table> was du meinst
<html>
<head>
<title>News</title>
</head>
<body>
<table width=\"90%\" align=\"center\" cellspacing=\"0\" bgcolor=\"#D8E3E9\">
<tr><td><table width=\"100%\" border=\"0\" cellpadding=\"10\" cellspacing=\"0\" bgcolor=\"749BAE\">
<tr><td><div align=\"center\"><a href=\"http://pc-dj.h2165.serverkompetenz.net/index.php?pid=10250001\" target=\"_blank\">
<img src=\"http://pc-dj.h2165.serverkompetenz.net/gifs/werbebanner/pcdj3.jpg\" width=\"468\" height=\"60\" border=\"0\"></a></div></td></tr><tr><td valign=\"top\">".$newstext."</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
<html>
<head>
<title>News</title>
</head>
<body>
<table width=\"90%\" align=\"center\" cellspacing=\"0\" bgcolor=\"#D8E3E9\">
<tr><td><table width=\"100%\" border=\"0\" cellpadding=\"10\" cellspacing=\"0\" bgcolor=\"749BAE\">
<tr><td><div align=\"center\"><a href=\"http://pc-dj.h2165.serverkompetenz.net/index.php?pid=10250001\" target=\"_blank\">
<img src=\"http://pc-dj.h2165.serverkompetenz.net/gifs/werbebanner/pcdj3.jpg\" width=\"468\" height=\"60\" border=\"0\"></a></div></td></tr><tr><td valign=\"top\">".$newstext."</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
Antwort 6 von DJTomPW
Da hast Du recht. Da hatte ich falsch gelesen. In dem Originalscript steht <body>richtig. War nur beim kopieren wohl verlohren gegangen. Ich hatte $emailtext etwas gekürzt, weil es sonst mega lang geworden ist.
Es ist aber immer so, daß egal, ob ich als $emailtext nur die Tabelle oder mit <html> und <body> vorweg eingebe, in den Webmails, der komplette HTML Code angezeigt wird.
Lade ich mir die Emails mit Outlook runter, werden sie richtig angezeigt. Weiß niemand warum das so ist?
Es ist aber immer so, daß egal, ob ich als $emailtext nur die Tabelle oder mit <html> und <body> vorweg eingebe, in den Webmails, der komplette HTML Code angezeigt wird.
Lade ich mir die Emails mit Outlook runter, werden sie richtig angezeigt. Weiß niemand warum das so ist?
Antwort 7 von Nicolas
wie sieht denn der "Content-Type:" header einer solchen mail aus?
(um die header Einträge z.B. bei web.de zu sehen einfach "erweiterter Header" rechts neben dem Datum anklicken)
könntemir vorstellen das der header fehlt oder auf "text/plain" steht (warum Outlook dann html zeigt kann ich aber auch nicht sagen)
(um die header Einträge z.B. bei web.de zu sehen einfach "erweiterter Header" rechts neben dem Datum anklicken)
könntemir vorstellen das der header fehlt oder auf "text/plain" steht (warum Outlook dann html zeigt kann ich aber auch nicht sagen)
Antwort 8 von disco
Zitat:
$header .= "Content-Type: text/html";
$header .= "Content-Type: text/html";
der C-T war schon richtig.
Antwort 9 von Nicolas
die Frage ist ja: kommt das da auch so an?
Ich kann ja nicht sehen wie er $header weiterverwendet, evtl geht der Zeilenumbruch hinterm From verloren oder irgendetwas hängt direkt hinter dem text/html (da ist immerhin in dem Teil den er hier bekanntgegeben hat kein Zeilenumbuch zu sehen).
Ich glaub ohne den vollständigen Quelltext einer solchen mail wird das eher schwer rauszufinden sein.
Ich kann ja nicht sehen wie er $header weiterverwendet, evtl geht der Zeilenumbruch hinterm From verloren oder irgendetwas hängt direkt hinter dem text/html (da ist immerhin in dem Teil den er hier bekanntgegeben hat kein Zeilenumbuch zu sehen).
Ich glaub ohne den vollständigen Quelltext einer solchen mail wird das eher schwer rauszufinden sein.
Antwort 10 von DJTomPW
Hi Nicolas!
Das wird bei mir angezeigt, wenn ich auf "Vollständige Kopfzeilen anzeigen" klicke.
Kannst Du da was herauslesen?
Das wird bei mir angezeigt, wenn ich auf "Vollständige Kopfzeilen anzeigen" klicke.
Return-Path: <tg@pc-dj.de>
Delivered-To: info@pc-dj.de
Received: (qmail 8586 invoked by uid 60000); 1 Sep 2005 11:04:42 -0000
Delivered-To: tg@pc-dj.de.de
Received: (qmail 8581 invoked by uid 531); 1 Sep 2005 11:04:41 -0000
Date: 1 Sep 2005 11:04:41 -0000
To: shop@pc-dj.de.de
Subject: Bestellung
From: Test Email<test@pc-dj.de>
Message-ID:tg@pc-dj.de.de
Reply-To: tg@pc-dj.de.de
X-Mailer: PHP/4.2.2
X-Sender-IP: 84.134.172.195
Content-Type: text/html
Kannst Du da was herauslesen?
Antwort 11 von Nicolas
ok das sieht ok aus, bei mir steht zwar noch mehr drinnen, von dem ich dachte das es dafür Vorraussetzung ist:
aber wenn ich diese Sachen raus lösche und die mail dann als Anhang an eine web.de Adresse versende wird der Anhang auch als html dargestellt, sollte also nicht daran liegen.
Ich glaube du musst mal sehr genau eine funktionierende und eine nicht funktionierende mail vergleichen, irgendwo muss sich ja ein Fehler verstecken (und wenns irgendwo ein Leerzeichen oder eine Leerzeile zuviel oder zuwenig ist).
MIME-Version: 1.0
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
aber wenn ich diese Sachen raus lösche und die mail dann als Anhang an eine web.de Adresse versende wird der Anhang auch als html dargestellt, sollte also nicht daran liegen.
Ich glaube du musst mal sehr genau eine funktionierende und eine nicht funktionierende mail vergleichen, irgendwo muss sich ja ein Fehler verstecken (und wenns irgendwo ein Leerzeichen oder eine Leerzeile zuviel oder zuwenig ist).

