Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Einmal mehr: PHP und Sonderzeichen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registrierter Benutzer
    Registriert seit
    29.12.2001
    Ort
    Berlin
    Beiträge
    231
    Content-Transfer-Encoding ist genau richtig
    Das Ganze ist relativ einfach. Du kannst dir ja deinen Mail-Header selber zusammen stellen --> http://de3.php.net/manual/de/function.mail.php
    Um die Parameter rauszubekommen, mache ich das so.
    Ich schicke mir selber ueber ein "normales" Mailprogramm eine solche Mail zu und schau mir dann den Quellcode an.
    Dabei kommt dann das z.B. raus:
    PHP-Code:
       ///////////////////////////////////
        
    $headers="From: ".$from." < ".$email." >\n";
        
    $headers.="Reply-to: ".$from." <".$email.">\n";
        
    $headers.="Reply-path: ".$from." <".$email.">\n";
        
    $headers.="MIME-Version: 1.0\n";
        
    $headers.="Content-Type: text/plain;\n\t charset=\"utf-8\"\n";
        
    $headers.="Content-Transfer-Encoding: 8bit\n";
        
    $headers.="X-Sender: webserver@meine.domain.de\n";
        
    $headers.="X-Mailer: PHP\n";
        
    $headers.="X-Priority: 3\n"
    tomes
    ************************************************
    Man(n oder Frau) muss nicht alles wissen,
    Man(n oder Frau) muss nur wissen wo es steht !
    ************************************************
    http://www.sandtom.net
    ICQ 176436259

  2. #2
    Registrierter Benutzer Avatar von smofi
    Registriert seit
    29.12.2004
    Beiträge
    42

    Lösung: Codierung Mail und Codierung Editor

    @Tomes: Danke für Deinen Code! Das ist genau das Puzzlestück, das mir fehlte Da wir geografisch zu weit auseinander wohnen, kann ich Dir kein Bierchen spendieren.

    Ich hab noch ein wenig herumprobiert. Sonderzeichen entstehen offensichtlich, wenn die Codierung des editierten PHP-Files und die Codierungsangabe im Mailheader sich unterscheiden.

    Beide können UTF-8 sein oder beide können ISO-8859-1 sein, in jedem Fall kommen lesbare Zeichen an (...jedenfalls bezgl. unserer deutschen Umlaute).

    Zusammenfassung @ alle, die das Problem auch haben: Hier überall zählen Codierungen.
    • Editor:
      • Codierung Eingabemethode
      • Codierung der Datei, wie sie effektiv gespeichert wird (bspw. beim XEmacs mit C-x C-m f einstellbar)
    • Mailtransport:
      • Der Mailserver tut wahrscheinlich nichts mit der Codierung selbst. Der transportiert Dateien und erweitert den Header. Spamassassins untersuchen die Dateien und erweitern ebenfalls den Header. Aufgrund des 7/8-Bit-Transportes dürften 16-Bit-Codierungen neue Probleme aufwerfen (-->undefined)
      • Codierung zum Mailen im Header mitgeben für den Mailclient!
    • Mailclient:
      • Codierung des Mailclients zur Darstellung: normalerweise gibt es bei der Einstellung einen Punkt "Auto". Das Mailprogramm liest bei "Auto" die Codierung aus dem Mailheader. Wenn man die Codierungen von Hand umstellt, sieht man, wie die lesbaren Zeichen kommen und gehen.
      • Codierungsangabe im Header

  3. #3
    Registrierter Benutzer
    Registriert seit
    29.12.2001
    Ort
    Berlin
    Beiträge
    231
    Schoen das ich helfen konnte.
    Uebrigens:
    7/8-Bit-Transportes dürften 16-Bit-Codierungen neue Probleme aufwerfen (-->undefined)
    Die Zauberformel heisst hier:
    Content-Transfer-Encoding: base64

    Den Header richtig umzuschreiben ist immer spannend, aber dafuer gibt es auch mehrere Loesungen.
    Wie gesagt, am besten sich ersteinmal aus den Thunderbird heraus eine Mail zuschicken. Dann sieht man wie der prof. Mailclient den Header schreibt.

    tomes
    ************************************************
    Man(n oder Frau) muss nicht alles wissen,
    Man(n oder Frau) muss nur wissen wo es steht !
    ************************************************
    http://www.sandtom.net
    ICQ 176436259

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •