#1 24. August 2009 Umlaute im Betreff für E-MAil *UPDATE da andere PROB* Hi, ich habe ein PHP MAiler welcher Daten von Flash bezieht. Die Nachricht wird korrekt übertragen, inkl. Umlaute. Wenn aber im Betreff ein Umlaut ist wird dieser mit "XX" angezeigt. Wer weiss da rat? + Multi-Zitat Zitieren
#2 25. August 2009 AW: Umlaute im Betreff für E-MAil hi, ich geh mal davon aus, das du die daten per loadVariables("sendmail.php","","POST"); versendest. mach mal aus loadVariables -> getURL (target="_blank") und seh dir mal an was wie ankommt (natürlich mit echo). + Multi-Zitat Zitieren
#3 25. August 2009 AW: Umlaute im Betreff für E-MAil Ich habe mich da schon etwas eingelesen. Die Mail wird im PHP versendet UTF-8 codiert. Der Inhalt (Message usw.) werden korrekt inkl. Umlaute usw. im Mailprogramm angezeigt. Der Betreff wird aber völlig anders von E-Mail Programmen interpretiert, sprich keine HTML Interpretation usw. + Multi-Zitat Zitieren
#4 25. August 2009 AW: Umlaute im Betreff für E-MAil dann mußt du wohl in uft-8 umwandeln. PHP: function utf8String ( $string ){ return html_entity_decode ( htmlentities ( trim ( $string )), ENT_QUOTES , 'UTF-8' );} probier das mal + Multi-Zitat Zitieren
#5 25. August 2009 AW: Umlaute im Betreff für E-MAil Wie gesagt sollte nicht klappen, html_entity_encode bringt was für den Inhalt. Der Header bzw. subject wird aber nicht als HTML interpretiert, daher ist eine HTML-Encodierung leider ohne Erfolg. Oder verstehe ich dich falsch? + Multi-Zitat Zitieren
#6 26. August 2009 AW: Umlaute im Betreff für E-MAil hast du das überhaupt mal probiert? und warum eigentlich utf-8? die mail ist doch für dich, da sollte iso-8859-1 doch ausreichen. + Multi-Zitat Zitieren
#7 26. August 2009 AW: Umlaute im Betreff für E-MAil Das mit ISO-8859-1 auch schon getestet, der Inhalt der Mail wird imemr korrekt angezigt, Der BEtreff wird aber mit Umlauten immer fehlerhaft angezeigt. aus "für" wird dann "fXXr" + Multi-Zitat Zitieren
#8 26. August 2009 AW: Umlaute im Betreff für E-MAil ok, fehler suchen. hast du getURL schon gemacht. was zeigt er dir für den betreff an? ggf. auch mal den quellcode ansehen. + Multi-Zitat Zitieren
#9 26. August 2009 AW: Umlaute im Betreff für E-MAil derzeitiger PhP-Code das Mailers: <?php $name = $_POST["name"]; $vorname = $_POST["vorname"]; $email = $_POST["mail"]; $strasse = $_POST["strasse"]; $ort = $_POST["ort"]; $gesamt = $_POST["gesamt"]; $kunde = $_POST["kunde"]; $subjectmsg = "Bestellung Kundenbilder des Kunden ".$kunde." abgesendet von ".$name." , ".$vorname." mit einer Summe von ".$gesamt; $msg0 = $_POST["item"]; $msg1 = nl2br($msg0); $msg = ereg_replace("<br />","\n",$msg1); $phone = "007"; $date = date("d/m/y H:i:s"); $contentmsg = "Datum: ".$date. "\n\nKunde: ".$kunde."\nSumme: ".$gesamt."\n\nName: ".$name." , ".$vorname. "\nStrasse: ".$strasse."\nOrt: ".$ort."\nEmail: ".$email."\nTelefonnummer: ".$phone. "\n\nBestelldaten: \n".$msg; $to="info@website.com"; $subject="".$subjectmsg.""; $header = "From: ".$email."\n"; $header .= "MIME-Version: 1.0\r\n"."Content-type: text/plain; charset=utf-8\r\n"; $header .= "Content-Type: text/plain;\n"; $header .= "\tcharset=\"iso-8859-1\"\n"; $header .= "Content-Transfer-Encoding: quoted-printable\n\n"; mail($to,$subject,$contentmsg,$header); ?> + Multi-Zitat Zitieren
#10 26. August 2009 AW: Umlaute im Betreff für E-MAil schon mit iconv rumprobiert? utf8 <-> latin1 etc. ? PHP: iconv - Manual das liegt übrigens auch teilweise am mail client, manche sind schlau genug und erkennen den korrekten zeichensatz automatisch PHP: ... $subjectmsg = iconv ( "UTF-8" , "ISO-8859-1" , $subjectmsg ); ... + Multi-Zitat Zitieren
#11 26. August 2009 AW: Umlaute im Betreff für E-MAil trägt jetzt nicht direkt zur problemlösung bei, jedoch: iso-8859-1 kennt keine eurozeichen, ist somit nicht unbedingt "ausreichend" (iso-8859-15 hingegen schon) + Multi-Zitat Zitieren
#12 26. August 2009 AW: Umlaute im Betreff für E-MAil Hmm, ich habe jetzt ein noch viel komischeres Problem. Das mit den umlauten im Betreff lässt sich einfach mit "AE" statt "ä" usw. umgehen. Ich verstehe aber folgendes nicht: Ein bestellvorgang wird per mail-Befehl an mich gesendet: mail($to,$subject,$contentmsg,$header); Nun möchte ich dem Kunden auch eine Bestellbestätigung inkl. der Positionen senden: mail($email,$ssubject,$recepttxt,$header2); Die Bestätigung kommt auch an, komischerweise werden dort aber weder umlaute noch Zeilenümbrüche interpretiert. sprich die Mail an mich ist: inkl. Umlaute, korrekte Zeilenumbrüche usw. Die Mail an den Kunden, weder Umlaute, noch korrekte Zeilenumbrüche. Wie definiere ich für den 2. Mailbefehl headerinformationen? Danke mal im VOraus + Multi-Zitat Zitieren
#13 28. August 2009 AW: Umlaute im Betreff für E-MAil *UPDATE da andere PROB* Onip.... keine Idee? + Multi-Zitat Zitieren
#14 28. August 2009 AW: Umlaute im Betreff für E-MAil *UPDATE da andere PROB* kannst du code schnippsel von deiner fla zu verfügung stellen? schmeiß alles aus flash raus, das nur ein kleiner dummy übrig bleibt. damit kann man mal etwas testen. ist das eigentlich ne dynamische anwendung, sprich kommen die daten von ner datenbank oder sowas? + Multi-Zitat Zitieren
#15 28. August 2009 AW: Umlaute im Betreff für E-MAil *UPDATE da andere PROB* Wie gesagt um den Flash Part geht es nicht, hier der Code: $name = $_POST["name"]; $vorname = $_POST["vorname"]; $email = $_POST["mail"]; $strasse = $_POST["strasse"]; $ort = $_POST["ort"]; $gesamt = $_POST["gesamt"]; $kunde = $_POST["kunde"]; $subjectmsg = "Bestellung Kundenbilder des Kunden ".$kunde." abgesendet von ".$name." , ".$vorname." mit einer Summe von ".$gesamt; $subjectmsg2 = "Ihre Bestellung"; $msg0 = $_POST["item"]; $msg1 = nl2br($msg0); $msg = ereg_replace("<br />","\n",$msg1); $phone = "007"; $date = date("d/m/y H:i:s"); $contentmsg = "Datum: ".$date. "\nKunde: ".$kunde."\nSumme; $contentmsg2 = "Folgende Bestelldaten sind von Ihnen bei uns eingegangen; // Mail setup $to="my-email@web.de"; $to2= $email; $subject="".$subjectmsg.""; $subject2="".$subjectmsg2.""; $header = "From: ".$email."\n"; $header .= "MIME-Version: 1.0\r\n"."Content-type: text/plain; charset=utf-8\r\n"; $header .= "Content-Type: text/plain;\n"; $header .= "\tcharset=\"iso-8859-2\"\n"; $header .= "Content-Transfer-Encoding: quoted-printable\n\n"; $header2 = "From: ".$to."\n"; mail($to,$subject,$contentmsg,$header); mail($to2,$subject2,$contentmsg2,$header2); ?> So mein Problem: mail($to,$subject,$contentmsg,$header); <----------- kommt korrekt inkl. Zeilenumbruch und Umaluten an mail($to2,$subject2,$contentmsg2,$header2);<--------- Umlaute und Zeilenumbrüche werden flasch interpretiert/angezeigt + Multi-Zitat Zitieren
#16 31. August 2009 AW: Umlaute im Betreff für E-MAil *UPDATE da andere PROB* du übergibst header2 keinen Mime, Content-type, charset usw. nur das from. warum eingentlich 2x charset? was hälst du davon ne kleine function zum mailen zu machen? hier mal ne kleine die ich ab und zu nutze. PHP: function sendMail ( $to , $subject , $message , $fromname , $fromemail ){ $headers = "MIME-Version: 1.0\r\n" ; $headers .= "X-Mailer: PHP\r\n" ; $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n" ; $headers .= "From: " . $fromname . " <" . $fromemail . ">\r\n" ; $headers .= "Content-Transfer-Encoding: 8bit\r\n" ; $headers .= "X-Priority: 3\r\n" ; $headers .= "X-MSMail-Priority: Normal\r\n" ; $headers .= "Return-Path: <" . $to . ">\r\n" ; if (@ mail ( $to , $subject , $message , $headers )){ return true ; } return false ;}if ( sendMail ( 'mailan@domain.de' , 'Betreff' , $msg , htmlspecialchars ( $_POST [ 'name' ]), htmlspecialchars ( $_POST [ 'email' ]))){ echo 'Mail versendet' ;}else { echo 'Mail nicht versendet' ;} // edit übergib von flash aus deine daten mit escape() PHP: sendmail . php ? name = escape ( form_name ) + Multi-Zitat Zitieren
#17 31. August 2009 AW: Umlaute im Betreff für E-MAil *UPDATE da andere PROB* wie siehts denn mit dem befehl hier aus: PHP: $mail_text = utf8_decode ( $mail_text ); benutze den immer und funktioniert wunderbar + Multi-Zitat Zitieren