Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] E-mail encoding horror

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] E-mail encoding horror

    Hallo Leute,
    ich hab mir nun eine kleine email Klasse geschrieben, sie funktioniert soweit auch super, allerdings habe ich ein Problem mit Sonderzeichen! Wie so oft mit Sonderzeichen ist auch dieses Problem total strange! Also ich habe ein Mac (Betriebssystem 10.3.4) und benutze das Mail programm, wenn ich nun in das Text feld öäüß schreibe bekomme ich den totalen Zeichensalat, ich habe es nun mit nem eigenen header versucht und den Text inhalt noch mit utf8_decode bearbeitet, das ganze schaut so aus:
    Code:
    $mailbody	 = "Email von Groundwork.de\r\n";
    $mailbody	.= "von: ".utf8_decode(stripslashes($this->strName))."\r\n";
    $mailbody	.= "Email-Adresse: ".$this->strEmail."\r\n";
    $mailbody	.= "------------------------------------------------\r\n";
    $mailbody	.= "Text: ".utf8_decode(stripslashes($this->strText))."\r\n";
    $headers	 = "From: Groundwork Mailform\r\n";
    $headers	.= "Mime-Version: 1.0\r\n";
    $headers	.= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
    $headers	.= "Content-Transfer-Encoding: 8bit\r\n";
    Das interessante nun ist, wenn ich eine email von einem Mac schreibe ist alles wunderbar, genau wie ich das gern hätte, wenn nun aber jemand auf einer Windows Kiste mein Formular benutzt, dann hab ich nur Fragezeichen statt äöüß ???? Hat jemand eine Lösung für dieses Problem, ich verzweifel daran!

  • #2
    Re: E-mail encoding horror

    Zitat von koneko
    Hat jemand eine Lösung für dieses Problem, ich verzweifel daran!
    Nein, weil keiner weiß, welchen Zeichensatz Du im HEAD des HTML Dokuments angegeben hast, in dem das Formular steht.

    Ansonsten würde ich Dir PEAR :: Mail_Mime empfehlen. Man muß nicht jedes Fahrrad neu erfinden.

    Kommentar


    • #3
      <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

      ich wusste nicht, daß das von belang ist???

      Kommentar


      • #4
        Zitat von koneko
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
        ich wusste nicht, daß das von belang ist???
        Na klar ist das von Belang, weil der Client Formulareingaben mit diesem Zeichensatz kodiert zurückschickt.

        Nur einen kleinen Fehler gibt es meist:
        das ENTER Zeichen in Textareas. WIN schickt da \r\n, UNIX \n und MAC \r
        Das mußt Du bei der Email Formatierung beachten.

        Ansonsten solltest Du Dir mal Header und Body von ein paar korrekten Emails angucken. Du mußt nämlich dringend beachten, daß Umlaute für die Übertragung korrekt konvertiert werden müssen. Weiterhin dürfen sich im Header entweder keine Umlaute befinden oder sie müssen ebenfalls konvertiert werden. Ins From: gehört ebenfalls eine korrekt formatierte Email Adresse rein.

        Tip: Guck Dir die Mail Klassen aus PEAR an und verwende die entweder oder empfinde das nach, was die richtig machen.

        Kommentar

        Lädt...
        X