• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Umlaute in der E-Mail

Saikoro

Neues Mitglied
Hallo liebe Leute,

ich habe ein kleines Problemchen mit meinem Kontaktformular. Wenn ich dieses Abschicke dann bekommt der Empfänger bei den Umlauten kryptische Zeichen zu sehen. Kennt man ja das Problem...

Nun sieht mein Abschnit für die Codierung des E-Mail Headers so aus:
PHP:
    $mail_header = "From: ".$_SESSION['email']."/n";
    $mail_header .= "Content-type: text/plain; charset=UTF-8"."rn";

    //Versand der E-Mail an den Empfänger
    $versand = mail($to, "Nachricht über das Kontaktformular", $message1, $mail_header);

Jedoch funktioniert dort etwas nicht. In der E-Mail die an den Empfänger geht wird folgende E-Mail Adresse angezeigt:
[email protected]/ncontent-type

Woran liegt es, dass dort das /n angezeigt wird. Ist es nicht dafür da um die nächste Zeile anzuzeigen? Auch wenn dort nur ein n steht wird es falsch angezeigt. Wenn ich die erste Zeile lösche, dann wird die E-Mail richtig codiert und die Umlaute richtig angezeigt. Jedoch wird mir dann natürlich die Hoster E-Mail angezeigt, was ja nicht Sinn der ganzen Sache ist.

Findet dort jemand einen Fehler? Gefühlt habe ich schon alles ausprobiert...

Danke für die Hilfe.
 
Werbung:
Hallo,

es gibt sogenannte Mailerklassen, womit die Emailversand enorm vereinfacht wird. Denn neben dem Umlautproblem gibt es noch zig andere, die mit einer solchen Klasse gelöst werden. Eine Mailerklasse wäre z.B. PHPMailer.
 
Werbung:
Hey Leute,

ich hab den Fehler bei mir gefunden o_O

Ich habe übersehen, dass bei $mail_header = "From: ".$_SESSION['email']."/n"; hinten der Slash falsch ist. Da muss natürlich ein Backslash rein. Danach hat dann alle funktioniert so wie es soll. Den PHP Mailer werde ich dennoch in meinem nächsten Formular verwenden. Danke dafür.
 
Das allein ist es sicher nicht.
Mails brauchen einen korrekten Header (du belegst ja selbst die Variable $header) wie du offenbar verstanden hast. Was aber in diesem Header alles stehen muss, beachtest du nicht.

Nur mal im Auszug:
Code:
From:
Reply-To: 
Subject: =?utf-8?+kodierter Betreff
MIME-Version: 1.0
Content-type: multipart/mixed; boundary=0-BOUNDARY
Content-type: multipart/alternative; boundary=BOUNDARY
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

Der Text
--BOUNDARY
Content-type: text/html charset="utf-8"
Content-Transfer-Encoding: quoted-printable
<html>
<body>
HTML-Text
</body>
</html>
--BOUNDARY--
--0-BOUNDARY--
Um eine korrekt kodierte Mail zu versenden, code ich schon eine Weile.....
 
Werbung:
Zurück
Oben