SomethingRotten Geschrieben 27. Dezember 2004 Teilen Geschrieben 27. Dezember 2004 Hi ich habe nichts konkretes gefunden zu diesem Thema. Ich muss in php ein kleines system programmieren das automatisch mails verschickt. Im Body erscheint alles richtig encodet aber alle umlaute die in der betreff zeile also quasi im header sind werden als X oder ? dargestellt. Wer kann mir sagen was ich tun muss das er diese sonderzeichen iso encoden tut? So sieht meine funtktion bis jetzt aus: $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=utf-8\r\n"; $headers .= "Content-Transfer-encoding: 8bit\r\n"; $headers .= "From: Me <me@example.de>\r\n"; mail($email, $message["subject"], $message["body"]."\n\r".$message["link"], $headers); [/PHP] Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 27. Dezember 2004 Teilen Geschrieben 27. Dezember 2004 sicher dass du die mails in UTF-8 verschicken willst? zu deinem Problem siehe: http://de.php.net/manual/en/function.htmlentities.php also: $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=utf-8\r\n"; $headers .= "Content-Transfer-encoding: 8bit\r\n"; $headers .= "From: Me <me@example.de>\r\n"; mail($email, htmlentities($message["subject"]), htmlentities($message["body"]."\r\n".$message["link"]), $headers); [/PHP] ausserdem muss es "\r\n" heissen, nicht "\n\r"!# Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SomethingRotten Geschrieben 27. Dezember 2004 Autor Teilen Geschrieben 27. Dezember 2004 Danke für die schnelle antwort. den Charset hatte ich testweise umgestellt, hab ihn aber jetzt umgestellt. Leider bringt das htmlentities auch nichts da die ausgabe in der betreffzeile jetzt ungefähr so aussieht: ...Maßnahme wu... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 27. Dezember 2004 Teilen Geschrieben 27. Dezember 2004 ahh sorry ich habs verpeilt. Subject ist ja nicht in HTML. siehe Google: http://www.google.de/search?hl=de&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&q=php+mail+umlaute+betreff&btnG=Suche&meta= Hit 1: http://www.dreamworker.de/foren/showthread.php?t=5411&goto=nextnewest oder auch ma das probieren: http://de.php.net/manual/en/function.utf8-decode.php Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DevilDawn Geschrieben 27. Dezember 2004 Teilen Geschrieben 27. Dezember 2004 Quoted-Printable benutzen. Geht via imap_8bit() wenn dein PHP mit IMAP Support gebaut ist. <? $From = "Jürgen Müstermän <jmusterman@example.com>"; $Subject = "Viele Umlaute: äöü und ein ß natürlich!"; $header = "MIME-Version: 1.0\r\n"; $header .= "From: =?ISO-8895-15?Q?".imap_8bit($From)."?=\r\n"; $header .= "Subject: =?ISO-8859-15?Q?".imap_8bit($Subject)."?=\r\n"; print $header; ?> [/php] [code] # php qp.php MIME-Version: 1.0 From: =?ISO-8895-15?Q?J=FCrgen M=FCsterm=E4n <jmusterman@example.com>?= Subject: =?ISO-8859-15?Q?Viele Umlaute: =E4=F6=FC und ein =DF nat=FCrlich!?= [/code] Ungetestet, aber sollte so klappen. Normalerweise gehört die =?ISO...?Q? vor das erste Sonderzeichen. Schau dir einfach mal korrekte Mails mit Umlauten "roh" an. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SomethingRotten Geschrieben 27. Dezember 2004 Autor Teilen Geschrieben 27. Dezember 2004 Die seite hatte ich auch schon mal. Ich hab jetzt mich dazu durchgerungen es mit PEAR zu machen . PEAR Mime Mail Danke für die Hilfe Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SomethingRotten Geschrieben 27. Dezember 2004 Autor Teilen Geschrieben 27. Dezember 2004 Quoted-Printable benutzen. Geht via imap_8bit() wenn dein PHP mit IMAP Support gebaut ist. <? $From = "Jürgen Müstermän <jmusterman@example.com>"; $Subject = "Viele Umlaute: äöü und ein ß natürlich!"; $header = "MIME-Version: 1.0\r\n"; $header .= "From: =?ISO-8895-15?Q?".imap_8bit($From)."?=\r\n"; $header .= "Subject: =?ISO-8859-15?Q?".imap_8bit($Subject)."?=\r\n"; print $header; ?> [/php] Ungetestet, aber sollte so klappen. Das functioniert auch. leider will die mail() function von php den Subject extra angegeben bekommen. Also kann man einen aufruf machen wie. [PHP]mail("test@test.net", "=?ISO-8859-15?Q?".imap_8bit($Subject)."?=\r\n","$body,$headers); Natürlich darf man in den header kein subject mehr drin haben weil die mail sonst 2 hatt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.