Umlaute in PHP-Mail
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
absender
besonderes thema
bit
code
gleiche problem
grund
header
komische zeichen
liegen
mime
problem
standard
text
transfer
type
umlaut
versenden
verwenden
wissen
zeichensatz
-
Hallo,
mail($contacts_form_config->own_email, $contact_betreff_send, $contact_nachricht_send, "From: ".$contact_sender." <".$contact_email_send.">");
mit diesem Code wird eine E-Mail versandt.
Leider werden die Umlaute nicht richtig konventiert und als komische zeichen angezeigt.
ich habe auch schon
$header = 'MIME-Version: 1.0' . "\r\n"; $header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
eingebaut, aber leider wird dann gar keine e-mail versandt.
Kann mir das bitte jemand in den obigen code einbauen?
Schöne Grüße
mmc -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Es wäre vielleicht mal wichtig zu wissen, mit welchem Zeichensatz du deine Homepage codiert hast, weil normalerweise hat man damit keine Probleme... ich gehe jetzt aber mal davon aus, dass du UTF-8 nutzt, da haben die meisten Probleme.
In meinem Fall hat der Code super geholfen
$from ="MIME-Version: 1.0\n"; $from .="Content-type: text/plain; charset=utf-8\n"; $from .= "From: Absender <noreply@absender.de>";
Außerdem würde ich die E-Mails niemals als HTML versenden, das blocken die meisten.
Gruß
technofan -
mail($contacts_form_config->own_email, $contact_betreff_send, $contact_nachricht_send, $form);
hab ihn so eingebaut; er sendet wieder keine E-Mail
Charset ist utf-8 -
Umlaute in E-mails sind immer ein besonderes Thema, der Grund ist, das E-mails nur 7-Bit kodiert sind und nur dem Asciistandard folgen, um sie dennoch mit Zeichen befüllen zu können, welche außerhalb dieses Standards liegen, müssen diese speziell kodiert werden.
Aber keine Angst, das musst du nicht selbst machen, denn dafür gibt es einen eigenen Header (Content-Transfer-Encoding: quoted-printable).
Sprich dein Code sieht etwa so aus:$headers = "Mime-Version: 1.0\r\n"; $headers .= "Content-Type: text/plain; charset=utf-8\r\n"; $headers .= "Content-Transfer-Encoding: quoted-printable\r\n"; $headers .= "From: $contact_sender <$contact_email_send>\r\n"; mail( $contacts_form_config->own_email, $contact_betreff_send, $contact_nachricht_send, $header );
Beitrag zuletzt geändert: 5.9.2010 1:14:51 von nemoinho -
Vielen Dank für die Lösung! Hat sofort funktioniert!
Alle, die das gleiche Problem mit den Umlauten haben, sollten obige Lösung verwenden!
Schöne Grüße
mmc -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage