| Suchen | |
|
|
|
#1
|
|||
|
|||
|
Hallo,
ich habe ein Problem mit Umlauten bei mail(). Bei manchen! Empfängern kommen statt ä,ö,ü und ß die Zeichen d,v,| und _ an. Es ist eine Multipart-Message. Die Attachements kommen normal an. Ich habe auch schon bei Content-Transfer-Encoding: 7bit und quoted-printable probiert -> kein Unterschied auch schon Content-Type auf utf-8 Mein Script sieht so aus: $mailtext = "blabla äüöß"; $mime_boundary = md5(time()); $headers .= "From: bla.de <bla@bla.de>\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "X-Mailer:PHP/".phpversion()."\r\n"; $headers .= "Content-Type: multipart/mixed;\r\n"; $headers .= " boundary=\"".$mime_boundary."\""; $message .= "This is a multi-part message in MIME format.\r\n"; $message .= "\r\n"; $message .= "--".$mime_boundary."\r\n"; $message .= "Content-Type: text/plain; charset=\"ISO-8859-1\"\r\n"; $message .= "Content-Transfer-Encoding: 8bit\r\n"; $message .= "\r\n"; $message .= $mailtext."\r\n"; $message .= "--".$mime_boundary."\r\n"; $message .= "Content-Type: application/pdf; name=\"erstesDokument.pdf\"\r\n"; $message .= "Content-Transfer-Encoding: base64\r\n"; $message .= "Content-Disposition: attachment\r\n"; $message .= " filename=\"erstesDokument.pdf\"\r\n\n"; $filename = "./docs/erstesDokument.pdf"; $handle = fopen($filename, 'rb'); $contents = fread($handle,filesize($filename)); fclose($handle); set_magic_quotes_runtime(0); $encoded = chunk_split(base64_encode($contents)); $message .= $encoded; $message .= "\r\n"; $message .= "--".$mime_boundary."\r\n"; $message .= "Content-Type: application/pdf; name=\"zweitesDokument.pdf\"\r\n"; $message .= "Content-Transfer-Encoding: base64\r\n"; $message .= "Content-Disposition: attachment\r\n"; $message .= " filename=\"zweitesDokument.pdf\"\r\n\n"; $filename = "./docs/zweitesDokument.pdf"; $handle = fopen($filename, 'rb'); $contents = fread($handle,filesize($filename)); fclose($handle); set_magic_quotes_runtime(0); $encoded = chunk_split(base64_encode($contents)); $message .= $encoded; $message .= "\r\n"; $message .= "--".$mime_boundary."\r\n"; $message .= "Content-Type: application/pdf; name=\"drittesDokument.pdf\"\r\n"; $message .= "Content-Transfer-Encoding: base64\r\n"; $message .= "Content-Disposition: attachment\r\n"; $message .= " filename=\"drittesDokument.pdf\"\r\n\n"; $filename = "./docs/drittesDokument.pdf"; $handle = fopen($filename, 'rb'); $contents = fread($handle,filesize($filename)); fclose($handle); set_magic_quotes_runtime(0); $encoded = chunk_split(base64_encode($contents)); $message .= $encoded; $message .= "\r\n"; $message .= "--".$mime_boundary."--\r\n"; if (mail("test@harald-koeln.de","Bestätigung",$message,$headers)) { mail('test2@harald-koeln.de',"Neue Anmeldung",$message,$headers); } |
|
#2
|
|||
|
|||
|
Und in welcher Codierung ist $mailtext gespeichert?
Gruß Jens
__________________
Schleichwerbung I - Schleichwerbung II - Schleichwerbung III - Schleichwerbung IV |
|
#3
|
|||
|
|||
|
Hi, entscheidend ist der deklarierte Zeichensatz,
in diesem Fall legst du mit dem Header PHP Quellcode:
$message .= "Content-Type: text/plain; charset=\"ISO-8859-1\"\r\n";
den Zeichensatz (engl. charset) auf ISO-8859-1 fest. Ich vermute, dass du deutsche Umlaute anzeigen willst (üöä - sind doch umlaute oder? ^^) verwende hierfür den Zeichensatz ISO-8859-15 P.S. In Zukunft PHP code bitte mit [ php ] [/ php ] tags versehen |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Umlaute mit mail() | TeacupGin | PHP | 4 | 04.01.2008 12:41 |
| mail() und Umlaute | yellowFox | PHP | 4 | 03.02.2006 14:39 |
| mail() umlaute und korrekter ace-string | irrenhaus | PHP | 0 | 16.01.2005 02:38 |
| php mail betreff-umlaute | hulkilein | PHP | 3 | 20.04.2004 11:55 |
| Umlaute in mail() | chriz2004 | PHP | 1 | 13.03.2004 00:30 |