SomethingRotten Geschrieben 27. Dezember 2004 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
kills Geschrieben 27. Dezember 2004 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
SomethingRotten Geschrieben 27. Dezember 2004 Autor 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...
kills Geschrieben 27. Dezember 2004 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
DevilDawn Geschrieben 27. Dezember 2004 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.
SomethingRotten Geschrieben 27. Dezember 2004 Autor 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
SomethingRotten Geschrieben 27. Dezember 2004 Autor 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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden