ERLEDIGT
JA
JA
ANTWORTEN
6
6
ZUGRIFFE
741
741
EMPFEHLEN
-
Hallo,
also ich habe ein Script das E-Mails bei bestimmten Aktionen auf meiner Homepage an mich sendet und seitdem ich den Serveranbieter gewechselt habe bekomme ich beim abrufen über Outlook den reinen HTML text angezeigt allerdings z.B. über „GMX“ oder „Web.de“ ist alles IO.
komischerweise wird im Outlook auch die letzte Zeile des Headers im text ausgegeben "Content-Type: text/html; charset=ISO-8859-1" wäre nett wenn jemand mir hilft das Problem zu beseitigen damit ich wieder ne ordentliche Seite sehe.
So in etwa sieht das aus.PHP-Code:$mailFromName = ich@ich.de;
$mailFromAdress = ich@ich.de;
$mailHeader .= "From: ich@ich.de\n";
$mailHeader .= "Reply-To: ich@ich.de\n";
$mailHeader .= "Return-Path: ich@ich.de\r\n";
$mailHeader .= "MIME-Version: 1.0\r\n";
$mailHeader .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
# <-- Inhalt
$mailBodyHead= '<html>';
$mailBodyHead.= '<body>';
$mailBodyHead.= '<font color="#FF6600" face="Tahoma" size="2">';
$mailBodyHead.= '<font color="#F76927">TEST</font>';
$mailBodyHead.= '<font color="#939497">TEST</font>';
$mailBodyHead.= '<font color="#F76927">TEST </font>';
$mailBodyHead.= '<font color="#939497">TEST</font><br>';
$mailBodyHead.= '</font>';
$mailBodyHead.= '<br><br>';
$mailBodyHead.= '<font face="Tahoma" size="2">';
$mailBody = $mailBodyHead . $mailBody;
$mailBody.= '</font>';
$mailBody.= '<br><br>';
$mailBody.= '<font color="#939497" face="Tahoma" size="1">';
$mailBody.= 'Bitte beachten Sie, dass es sich bei dieser E-Mail um eine vom System versendete Information handelt. ';
$mailBody.= 'Eine Antwort auf diese E-Mail mittels der Antwort-Funktion Ihres Mailprogramms ist nicht möglich. ';
$mailBody.= 'Für Fragen, Anregungen und Probleme wenden Sie sich bitte ';
$mailBody.= 'an folgende Mail- Adresse: <a href="mailto:'ich @ich.de'">ich@ich.de</a>';
$mailBody.= '</font></body>';
$mailBody.= '</html>';
# <-- Email versenden
mail ($mailTo, $mailSubject, $mailBody, $mailHeader);
-
$mailHeader .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
Nach dem Content Type muss meines wissens nach ein Doppelter Zeilenumbruch folgen. Auserdem würde ich den HTML Teil einfach auch im Header mitsenden. Wenn man schon damit anfängt kann man es auch komplett so machen. Und im eigenlichen Text eben eine Text-Version davon.Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
-
Hi,
versuch mal:
Also es liegt definitiv am Header, kann sein, dass die X-Mailer Angabe was damit zu tun hat. Falls nicht, einfach mal nach "HTML mail header" googlen.PHP-Code:$mailHeader .= "From: ich@ich.de\n";
$mailHeader .= "Reply-To: ich@ich.de\n";
$mailHeader .= "Return-Path: ich@ich.de\r\n";
$mailHeader .= "MIME-Version: 1.0\r\n";
$mailHeader .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$mailHeader .= "X-Mailer: PHP/' . phpversion()";
Gruß tyg3r
-
@Tyg3r:
Also "$mailHeader .= "X-Mailer: PHP/' . phpversion()";" bewirkt bei mir nichts außer das es jetzt einfach auch im Textteil der E-Mail mit angeziegt wird.
@Michael Engel:
Also wenn du mit doppelten Zeilenumbruch meinst "$mailHeader .= "$mailHeader .= "Content-Type: text/html; charset=ISO-8859-1\n\r\n\r" denn hat das keine wirkung.
Wie meinst du das mit dem HTML in den Head?
Und warum wird eigentlich die eine zeile aus dem Head im Text angezeigt und das nur bei Outlook?
-
Also habe jetzt eben mal die einträge vertauscht
und siehe da die HTML wird wieder korekt angezeigt allerdings steht nun das (MIME-Version: 1.0) im Text wenn ich das einfach weglasse habe ich dann etwas zu befürchten? Kenne mich da nicht so aus was genau das macht.PHP-Code:$mailHeader .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$mailHeader .= "MIME-Version: 1.0\r\n";
-
Am besten du schaust dir den Quellcode der E-Mail die ankommt mal genau an, es stehen mit sicherheit 2 header für den Inhalt darin. STRG + U (in Outlook und Thunderbird) Eventuell kannst du den Header hier auch Posten. Aber wie gesagt am einfachsten funktioniert es sicher wenn du die Mail komplett selbst baust. Dann kannst dir sicher sein wie sie hinterher aussieht.
Codebeispiele wie das aussieht gibts auf php.net genug:
http://de.php.net/manual/de/ref.mail.php#77405 zB
PS: Post 500 *yeah*
Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
-
Ich gratuliere dir zu deinem 500. Post und danke dir auch für deine Hilfe allerdings lasse ich jetzt einfach die Zeile weg bis es beschwerden gibt ... und die Seite du du gepostet hast kannte ich schon.
Ähnliche Themen
-
HTML wird anders ausgegeben als im PHP angegeben
Von Maeniel im Forum PHPAntworten: 2Letzter Beitrag: 30.05.09, 20:09 -
Text wird online mit imagettftext() nicht ausgegeben!
Von eiisa im Forum PHPAntworten: 7Letzter Beitrag: 18.10.07, 14:24 -
[XAMPP] Perl wird als plain text ausgegeben
Von bled im Forum CGI, Perl, Python, Ruby, Power ShellAntworten: 0Letzter Beitrag: 01.10.05, 16:54 -
PHP Code wird nur als Text ausgegeben
Von Evil_Dirty_Devil im Forum PHPAntworten: 4Letzter Beitrag: 12.01.04, 21:31 -
Ein Smiley wird ausgegeben, danach html-code
Von SkyCowboy im Forum PHPAntworten: 3Letzter Beitrag: 19.01.03, 20:37





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren