Oliver_E: /Email - Umlaute für Mailbody kodieren?

Beitrag lesen

Wb Tom,

Da komme ich jetzt nicht mit. [...]

das habe ich mir schon fast gedacht, als ich den Satz geschrieben habe ;) ...

Also, auf der Formular-Seite, gibt es Felder, in denen du deinen Namen, Vornamen, Email-Adresse (input type=text), sowie die dazugehörige Anrede (input type=radio) eingeben sollst. Dann gibt es noch eine optionale Liste, wo du eine Stadtauswahl treffen kannst. Soweit inhaltlich. Der Enctype ist multipart/formdata und wird per method=post an das Verarbeitungsskript übergeben.

Das Verarbeitungsskript setzt nun nach dem Session-Aufruf die übergebenen Variablen in das $_SESSION - Array

Bsp:

$_SESSION["name"] = $name;
$_SESSION["vorname"] = $vorname;
etc...

nach diesem Vorgang, 'bastel' ich mir jetzt den mailbody-string zusammen mit den dynamischen Daten aus dem Formular, die mir ja jetzt im $_SESSION Array zur Verfügung stehen. (Session verwende ich deswegen, weil die gemachten Daten noch 5 Tage erhalten bleiben sollen).

Bsp:

$koerper = "Bitte überprüfen Sie folgende Angaben:\n\n";
$koerper .= "Name: " . $_SESSION["name"] . "\n";
$koerper .= "Vorname: " . $_SESSION["vorname"] . "\n";
etc...

anschließend noch den Betreff in eine Variable abgelegt und weiter gehts zur mail-versenden-Funktion.

function mail_versenden($betreff, $koerper)
    {
        ... // Verknuepfung um eine saubere Anrede zu haben.
        $absender = "someone@example.org";
        $headers = wie schon weiter oben beschrieben
        if(!(mail($_SESSION["email"], $betreff, $koerper, $headers)))
             {
                die("Da hat was nicht funktioniert");
             }
    }

dann noch der Funktions-Aufruf:

mail_versenden($betreff, $koerper);

und das wars.

So, und wenn jetzt beispielsweise in $_SESSION["name"] "M_ü_ller-L_ü_denscheid steht, dann steht in der E-mail die ich erhalte "M_ü_ller-L_ü_denscheid", hingegen werden die Umlaute (s. 1. Beispielzeile aus $koerper) als irgendwelche Sonderzeichen dargestellt.

Und das ist das, was ich zur Zeit so gar nicht nachvollziehen kann. Denn eigentlich sollte ich doch annehmen müssen/sollen, das entweder alle Umlaute als Sonderzeichen oder aber korrekt dargestellt werden. Oder mach ich jetzt nen ganz bösen Denkfehler?

Liebe Grüße aus http://www.braunschweig.de

Tom

Liebe Grüße

Oliver