Antworten auf deine Fragen:
Neues Thema erstellen

mailto & Umlaute

AlphaGen

Nicht mehr ganz neu hier

Ich habe das Problem, dass wenn in einem Formular das ich geschrieben habe Umlaute eingetragen werden, diese nicht richtig per PHP mittels mail verschickt werden.

Die Daten werden per GET von dem Formular in die auswertungsdatei übergeben.

Hier steht folgender Code:

PHP:
$Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
      $Mailnachricht .= "\nName: ";
      $Mailnachricht .= $_REQUEST['Vorname'];
      $Mailnachricht .= "\nAnschrift: ";
      $Mailnachricht .= $_REQUEST['Anschrift'];
      $Mailnachricht .= "\nNummer: ";
      $Mailnachricht .= $_REQUEST['Nummer'];
      $Mailnachricht .= "\nE-Mail Adresse: ";
      $Mailnachricht .= $_REQUEST['eMail'];
      $Mailnachricht .= "\nNachricht: ";
      $Mailnachricht .= $_REQUEST['Nachricht'];
      $Mailnachricht .= "\nSendedatum/Zeit: ";
      $Mailnachricht .= date("d.m.Y H:i:s");
      $Mailbetreff = "Nachricht von: ";
      $Mailbetreff .= $_REQUEST['Vorname'];
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Vorname']);
Ich habe z.B. Umlaute in den Feldern eingegeben und ich bekomme dann folgende E-Mail:

Name: äääääää
Anschrift:
Nummer:
E-Mail Adresse: üüüüüüü
Nachricht: ööööööö


Wodran liegt das und wie kann ich es umgehen?
 
Zuletzt bearbeitet:

FlashSoft

Besserwisser

AW: mailto & Umlaute

Ich verwende folgendes:

PHP:
<?php
if($abschicken) {
    // Wenn eines der Felder leer ist, gebe Fehlermeldung aus
    if(empty($_POST['name']) || empty($_POST['email']) || empty($_POST['mailbetreff']) || empty($_POST['mailnachricht']))
    {
        echo "Bitte f&uuml;lle alle Felder aus!";
    } else {
    // Ansonsten: Für jedes Eingabefeld eine Zeile wie folgt erzeugen --> Feldname: Eingabe
        while(list($feld,$wert)=each($HTTP_POST_VARS)) {
            if($feld!="abschicken") {
                $mailnachricht.=ucfirst($feld).": $wert\n";
            }
        }
        // Zusatzdaten hinzufügen
        $mailnachricht.="\nDatum/Zeit: ";
        $mailnachricht.=date("d.m.Y H:i:s");
        $mailbetreff="Kontakt: ";
        $mailbetreff.=$HTTP_POST_VARS['email'];
        // Mail versenden auch als HTML-Mail
        mail("deine@email.net", $mailbetreff, $mailnachricht, "From: ".$_POST['email'], "MIME-Version: 1.0\nContent-type: text/html; charset=iso-8859-1");
        echo "Mail wurde erfolgreich versandt";
    }
} else {
    echo "ERROR. Ein Fehler ist aufgetreten.";
}
?>

FlashSoft
 
Zuletzt bearbeitet:

AlphaGen

Nicht mehr ganz neu hier

AW: mailto & Umlaute

Ok. Kannst du mir erklären was in folgenden Zeilen gemacht wird?

PHP:
while(list($feld,$wert)=each($HTTP_POST_VARS)) {
            if($feld!="abschicken") {
                $mailnachricht.=ucfirst($feld).": $wert\n";
            }
Werde es gleich mal ausprobieren.

Edit: funktioniert auch nicht. Warum werden mir die mist Umlaute nicht angezeigt.

P.S. Du hast nen Fehler in deinem Script. Wenn mich nicht alles täuscht gehört vor das MIME ganz unten kein Anführungszeichen. Oder das am Ende ist zu viel ;-)
 
Zuletzt bearbeitet:

dlogic

Allrounder

AW: mailto & Umlaute

Hi, gib der Mail einen speziellen Header mit... der dem Mail-Programm des Empfängers mitteilt, wie die Mail zu dekodieren ist.

Das kanns du so machen:

PHP:
mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Vorname'], "Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable");
wenn das nicht funktioniert kannst ja mal die Strings durch utf8_encode() schicken.
 
Zuletzt bearbeitet:

AlphaGen

Nicht mehr ganz neu hier

AW: mailto & Umlaute

PHP:
$mailnachricht = utf8_encode($mailnachricht2);
mail($Empfaenger, $mailbetreff, $mailnachricht, "From: ".$_POST['email'],"Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable");
Und es funktioniert noch immer nicht... *heul*

Also es kann nur was mit dem Header sein. Die Varbiable "$mailnachricht" stimmt vor dem verschicken noch mit den eigegebenen Werten überein. ü = ü usw...
 
Zuletzt bearbeitet:

CIX88

Aktives Mitglied

AW: mailto & Umlaute

Sorry, aber diese einfache Mail-Funktion ist einfach Käse.
Warum benutzt du nicht den PHPMailer ?
Da wird auch ein richtiger E-Mail-Header erstellt, was bei dir komplett fehlt.
 

CIX88

Aktives Mitglied

AW: mailto & Umlaute

Hmmmmmm => SourceForge.net: PHPMailer
Das ist eine PHP-Klasse für TXT und HTML-Mails, womit man auch Anhänge versenden kann.

EDIT

Ich vermute mal, dass du dein Formular oder deine PHP-Datei als UTF8 gespeichert hast.
Alles was dann mit Umlauten kommt, wird falsch interpretiert.

Du kannst natürlich auf den PHPMailer verzichten, nur dann musst du einen ordentlichen Header erzeugen.
Der Header beinhaltet Informationen zur E-Mail (z.B. MIME-Version, Content-Type, Content-Transfer-Encoding etc.)
 
Zuletzt bearbeitet:

AlphaGen

Nicht mehr ganz neu hier

AW: mailto & Umlaute

Sowohl meine PHP - Datei als auch das Formular benutzen UTF8. Wenn ich das umstelle auf iso und einen Header benutze, funktioniert das ganze dann?
 

CIX88

Aktives Mitglied

AW: mailto & Umlaute

Naja, wenn deine Seiten als UTF8 gespeichert sind, dann werden die Eingaben von Formularen auch als UTF-8 gesendet, und dann kommt sowas raus wie oben zu sehen ist.
Ich würde es mal mit utf8_decode() versuchen, anstelle von utf8_encode() :)
 

stroyer

Aktives Mitglied

AW: mailto & Umlaute

Es genügt das richtige Doctype auf der Seite, die das Fotmular beherbergt und dann im Header vom Mail "Content-Type: text/plain;\n\t charset=\"utf-8\"\n" eventuell noch "Content-Transfer-Encoding: 8bit"
Und als Betreff '=?$charset?B?'.base64_encode($betreff).'?='
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.614
Beiträge
1.538.351
Mitglieder
67.525
Neuestes Mitglied
mgtaucher
Oben