dedlfix: Mail Codierung - Problem noch immer nicht gelöst

Beitrag lesen

echo $begrüßung;

nachdem ich trotz wirklich unzähliger Versuche noch immer nicht weitergekommen bin

Wir™ wissen nicht, was du bisher erreicht hast und was deine derzeitigen (Rest-)Probleme sind. Vielleicht machst du schon alles richtig, nur die Empfänger sind zu doof, um standardisierte Mails ordnungsgemäß zu interpretieren.

und einfach nicht schaffe, was ich erreichen möchte, bitte ich erneut um Eure Hilfe und bitte darum, das mir hier jemand sagt, wie der php-Code lautet, der mir aus

Der wurde dir schon gesagt. Hier nochmal in Zusammenfassung:

Fangen wir mit dem einfachen Teil an.

$inhalt="Hänsel und Gretel wünschen sich Hörnchen über alles.";

Das ist der Mailinhalt. Dieser kann kodiert sein wie er will, solange diese verwendete Kodierung in der Header-Zeile namens Content-Type angegeben ist. Das dürftest du schon hinbekommen haben.

$absender="Björn Testmann bjoern.testmann@example.com";
$empfaenger="Jürgen Mustermann-Weiß mustermann-weiss@exmaple.org";
$betreff="Gästebuchaktivierung für Dich";

Absender, Empfänger und Betreff sind Header-Zeilen. Header-Zeilen müssen auch dann richtig interpretiert werden können, wenn die Content-Type-Zeile noch nicht ausgewertet wurde oder fehlt. Außerdem heißt "Content" Inhalt und nicht Verpackung, also ist die dortige charset-Angabe auch gar nicht für die Headerzeilen zuständig. Der Standard sieht vor, dass bei Bedarf jede Headerzeile einzeln nach dem dir bekannten Muster zu kodieren ist.

Die Betreffzeile kannst du komplett mit der bereits genannten mb_...-Funktion behandeln. Bei Absender und Empfänger musst du zunächst den Namen und die Mailadresse trennen oder am besten gleich getrennt vorliegen haben. Die Mailadresse bleibt wie sie ist, der Name wird mit der mb_...-Funktion behandelt. Anschließend setzt du den behandelten Namen und die Mail-Adresse mit Leerzeichen dazwischen zusammen.

Hast du weitere Headerzeilen (außer To und Subject) setzt du diese wie im Handbuch zu mail() - Parameter additional_headers beschreiben mit einem Zeilenumbruch (\n oder \r\n [1]) zusammen.

Den mail()-Aufruf bekommst du nun sicher auch ohne weitere Hilfe hin.

einen Mailversand macht, bei dem in der ankommenden Mail sowohl im Betreff, als auch im Mailinhalt sowie bei den Namen von Empfänger und Absender alle Umlaute/SOnderzeichen richtig dargestellt werden.

Wie gesagt, auf den Empfänger hast du keinen Einfluss. Du kannst nur alles richtig machen oder für bestimmte bekannte Fehler einiger Empfänger einen Workaround finden. Das bedeutet aber oftmals eine Beschränkung auf ISO-8859-1.

Damit ich also endlich lernen kann und verstehen kann, wie man aus oben genannten 4 Informationen _richtig_ eine Mail versenden kann, bitte ich nochmals um den dafür zuständigen PHP-Code, den ich im Anschluß dann gerne Zeile für Zeile bzw. Funktion für Funktion durchbesprechen möchte.

Dann setze nun bitte aus den gegebenen Informationen einen Quelltext zusammen, den wir™ dir dann gern auseinandernehmen. Außerdem wäre es hilfreich, die von dir verwendeten (Beispiel-)Werte im Originalzustand nebst der Nennung der von dir verwendeten Kodierung sowie ihren Zustand beim Übergeben an mail() anzuführen. Und wenn du dann noch die Headerzeilen anführst, wie sie beim Client ankommen (gekürzt auf das Wesentliche - Received- und X-Zeilen sind beispielsweise uninteressant) wäre das auch nicht schlecht.

Die folgende Fußnote ist nur der Vollständigkeit halber enthalten. Du kannst sie gern ignorieren, sie trägt zu deinem Problem und dessen Lösung nichts weiter bei.

[1] Die RFC verlangt \r\n, doch eigentlich ist es Aufgabe des Mail-Sendeprogramms, die auf dem Betriebssystem üblichen Zeilenumbrüche standardkonform zu kodieren. Man kann getrost die additional_header-Zeilen nur mit einem \n verbinden, denn mail() selbst verwendet intern auch nur \n beim Zusammenfügen der Header mit Subject und dem Body. Wenn also ein \n Probleme bereiten sollte, so sind mail()-seidank garantiert welche drin. Es lohnt sich demzufolge nicht, unbedingt standardkonforme \r\n zu verwenden.

echo "$verabschiedung $name";

0 57

Sonderzeichen bei Mail mit Inhalt aus Formular

Brombeermilchtrinker
  • php
  1. 0

    Ursprungsproblem gelöst / nun anderes Codierungsproblem

    Brombeermilchtrinker
    1. 0
      Markus**
      1. 0
        Brombeermilchtrinker
    2. 0
      Sven Rautenberg
      1. 0
        Brombeermilchtrinker
        1. 1
          Sven Rautenberg
          1. 0
            Brombeermilchtrinker
        2. 0
          Jens Holzkämper
    3. 0
      dedlfix
      1. 0
        Brombeermilchtrinker
        1. 0
          dedlfix
          1. 0
            Brombeermilchtrinker
            1. 0
              dedlfix
              1. 0
                Sven Rautenberg
              2. 0
                Brombeermilchtrinker
                1. 0
                  dedlfix
                  1. 0
                    Brombeermilchtrinker
                    1. 0
                      Jens Holzkämper
                    2. 0
                      Vinzenz Mai
                      1. 0
                        Brombeermilchtrinker
                        1. 0
                          Vinzenz Mai
                          1. 0
                            Brombeermilchtrinker
                            1. 0
                              Brombeermilchtrinker
                              1. 0
                                Harlequin
                                1. 0
                                  Sven Rautenberg
                                2. 0
                                  Brombeermilchtrinker
                                  1. 0
                                    Jens Holzkämper
                                    1. 0
                                      Brombeermilchtrinker
                                      1. 0
                                        Jens Holzkämper
  2. 0
    Markus**
  3. 0

    Mail Codierung - Problem noch immer nicht gelöst

    Brombeermilchtrinker
    1. 0
      dedlfix
      1. 0
        Brombeermilchtrinker
        1. 0
          dedlfix
          1. 0
            Brombeermilchtrinker
            1. 0
              dedlfix
              1. 0
                at
              2. 0
                Brombeermilchtrinker
                1. 0
                  Harlequin
                  1. 0
                    Brombeermilchtrinker
                2. 0
                  dedlfix
                  1. 0
                    Brombeermilchtrinker
                    1. 0
                      dedlfix
                      1. 0

                        utf-Codierung / Verwendung von mysqli

                        Brombeermilchtrinker
                        1. 0
                          flowh
                        2. 0
                          dedlfix
                          1. 0
                            Brombeermilchtrinker
                            1. 0
                              Harlequin
                              1. 0
                                Brombeermilchtrinker
                              2. 0
                                dedlfix
                                1. 0
                                  Harlequin
                                  1. 0
                                    Brombeermilchtrinker
                            2. 0
                              flowh
                              1. 0
                                Brombeermilchtrinker
                            3. 0
                              dedlfix
                              1. 0
                                Brombeermilchtrinker